woainigui8888 发表于 2014-12-23 13:13:05

求大神帮忙C语言指针和数组的问题

#include<stdio.h>
int main()
{
   int a;
   int *p;
for(p=a;p<p+5;p++)
    scanf("%d",p);
for(p=a;p<p+5;p++)
   printf("%d ",*p);
printf("\n");

}
为什么陷入死循环了呢 求解

elvo 发表于 2014-12-23 13:26:11

p<p+5;这是真命题啊,0<5...石头小于布

woainigui8888 发表于 2014-12-23 13:33:01

elvo 发表于 2014-12-23 13:26
p

:mad:

woainigui8888 发表于 2014-12-23 13:35:35

elvo 发表于 2014-12-23 13:26
p

后面不是有p++吗

lgd 发表于 2014-12-23 21:53:39

p++就是p=p+1,所以第二次循环的时候p的值就是p+1,换成p<a+5就好了

yuliang729 发表于 2014-12-25 11:27:41

把p<p+5改成p<a+5即可

风之残月 发表于 2014-12-25 19:43:24

把 p<p+5 改为 p < a+5
因为p++ 后 p一定小于 p+5, 然后又p++,肯定又小于p+5,最后死循环

woainigui8888 发表于 2014-12-25 19:48:44

风之残月 发表于 2014-12-25 19:43
把 p

谢谢大神

woainigui8888 发表于 2014-12-25 20:11:30

风之残月 发表于 2014-12-25 19:43
把 p

还有a不是常量值吗? 不是不可以改变的吗???

风之残月 发表于 2014-12-25 20:25:02

woainigui8888 发表于 2014-12-25 20:11
还有a不是常量值吗? 不是不可以改变的吗???

计算a + 5 并没有改变 a 的值,只是引用了它的值而已
页: [1]
查看完整版本: 求大神帮忙C语言指针和数组的问题