C语言指针跟数组问题
#include "stdio.h"
void main()
{
int a[3],i=0;
int *p=a; //读入数据到数组中
for(i=0;i<3;i++) scanf("%d",p++);
p=a; //输出数组数据
for(i=0;i<3;i++)
printf("%d ",*p++);
}
请看上面红色的地方,上面的(*p=a)表示指针p已经指向a了,下面为什么还要来个p=a;
求解,越具体越好,谢谢。
[解决办法]
在for循环中,p改变了,已经不指向 a了.
于是,重新p=a,重新指向a,然后输出
[解决办法]
for(i=0;i<3;i++) scanf("%d",p++);这里改变了p,所以后面需要重新赋值。
[解决办法]
重新指向数组a的首地址