c语言的指针问题:将10个数字存入数组,然后使用指针变量指向数组,并输出这十个数

#include<stdio.h>
int main(){
int a[10];
int *p,i;
printf("please input 10 numbers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(p=a;p<(a+10);p++);
printf("%d",*p);
getch();
return 0;
}
为什么不对,输出的答案总是50

for(p=a;p<(a+10);p++);
上述代码多了一个分号“;”
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-29
#include<stdio.h>
int main(){
int a[3];
int *p,i;
printf("please input 3 numbers:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
printf("\n");
p=a;
for(i = 0;i<3;i++)
{
printf(" %d",*(p+i));
}
getch();
return 0;
}