首页 > 用户发贴区 > 编程问题提问区 > 请大虾帮忙看看(在线等)
2008
02-20

请大虾帮忙看看(在线等)

main()


{


int a[]={1,2,3,4,5,6,7,8,9,10};


int *p,s=0;


p=a;


for(p=0;p<=9;p++)


s=s+*p;


printf(“%d\n”,s);


}


要求得到数组内各数之和.


为什么结果显示的是1333  ??


小弟自学C半个月,望高手指点…在线等


请大虾帮忙看看(在线等)》有 2 条评论

  1. 吴自强198542 说:

    for(p=0;p<=9;p++)

    s=s+*p;这就是问题所在吧,其中p=0不是把p=a给盖了吗?

    如果是累加,可以重新声明一个变量吧

  2. 吴自强198542 说:

    如:for(i=0;i<=9;i++)

    s=s+*(p+i);

留下一个回复