初来匝道.一个指针小疑点.

初来匝道...一个指针小问题...求助!!
#include<stdio.h>
void main()
{
int a[10],i;
int *p = a;
for(i = 0;i < 10;i++)
{
scanf("%d",&a[i]);//为什么把&a[i]换成p++就不对了???????
}
printf("\n");

for(i = 0; i<10;i++)
{
printf("num: %d is: ",i);
printf("%d\n",*(p+i));
}
}
//为什么把&a[i]换成p++就不对了???????


------解决方案--------------------
第一个循环应该不会出问题,问题在于两个循环
但如果你在第一个循环用了p++,那第二个循环的*(p+i)指的是哪里你清楚么?
------解决方案--------------------
探讨

a[i]不应该和*(p+i)等效的吗? 在第一个循环为p++时,第二个循环中我改为a[i]输出正确 为什么*(p+i)就输出错误了...?

------解决方案--------------------
探讨
a[i]不应该和*(p+i)等效的吗? 在第一个循环为p++时,第二个循环中我改为a[i]输出正确 为什么*(p+i)就输出错误了...?