数组与指针相关的改错问题,求解为什么要这样改
要求是输入数组中的所有元素。原题代码
程序代码:
#include "stdio.h" main(){ int *p,i,a[10]; p=a; for(i=0;i<10;i++) *p++=i; for(i=0;i<10;i++) printf("a[%d]=%d\n",i,*p++); }
改正后的代码:(求解为什么还要加一个p=a前面不是已经赋值了吗)
程序代码:
#include "stdio.h" main(){ int *p,i,a[10]; p=a; for(i=0;i<10;i++) *p++=i; p=a;//这里加一个p=a就正确了? for(i=0;i<10;i++) printf("a[%d]=%d\n",i,*p++); }