首页 > 电脑

*p为什么是0而不是输入的最后一个数5

更新时间2019-03-03 23:57:26

#include<stdio.h>

int main(void)

{

int a[10],*p,sum=0;

printf("Enter inter");

for(p=a;p<a+5;p++){

scanf("%d",&*p);

sum=sum+*p;

}

printf("sum=%d ",sum);

printf("*p=%d",*p);

return 0;

}

-------------------------

Enter inter1 2 3 4 5

sum=15

*p=0

--------------------------------

Process exited after 3.542 seconds with return value 0

请按任意键继续. .


for 循环后p再加了一次,最后指向的是a[5]而不是存放‘5’的a[4],你可以在printf("*p=%d",*p);前面加一句p--;就得到5了。

上一篇:某系统中键盘中断的类型码为07H,其对应在中断矢量表中的中断服务程序的入口地址为()

下一篇:我使用的是Devc++;为什么A此处编译错误,书上是这样的