系统粉 > 电脑问答 > 其他问答

已解决关于指针代码问题

提问者:小池寒渌欲生漪  |  浏览次  |  提问时间:2017-03-22  |  回答数量:4

#include <stdio.h> void main() {         int * p,i,a[10];         p=a;         for(i=0;i<10;i++)                 scanf("%d",p++);         for(i=0;i<10;i++,p++)                 printf("%d ",* p);             printf("\n"); } 出现问题的代码 应该是处在6,7行。 别人说:经过第一个for循环读入数据后,p已指向a数组的末尾。 但是就是理解不了 最明显一点:经过第一个for循环读入数据后,怎么突然跳到 a数组的末尾? 各位师兄 帮帮忙解释一下下!关于指针代码问题(图1)

已有4条答案
sunny蛋丶白

sunny蛋丶白

回答数:33  |  被采纳数:20

不是有p++吗
2017-03-22 07:31:22
赞 3
可攻可受吃货女

可攻可受吃货女

回答数:211  |  被采纳数:88


指针在执行到数组边界之后,要是继续执行。那么只会输出不确定值。要想输出之前输入的值,那么指针要回到首地址吧 ?所以在scanf 后面加上 P=a。就好了是吧?
2017-03-22 11:19:31
赞 21
红尘一末

红尘一末

回答数:135  |  被采纳数:22


2017-03-22 13:55:58
赞 13
贱贱牧

贱贱牧

回答数:180  |  被采纳数:59


嗯嗯 明白了。谢谢 (1)
2017-03-22 12:16:53
赞 18
相关问答
最新其他问答
解决方法