中易网

关于C的小问题,数组a中10个元素之和。

答案:4  悬赏:30  
解决时间 2021-03-06 05:08
#include
main()
{
int s=0,a[9],*p,*q;
for(p=a+9,q=a;p>=q;p--)
{
scanf("%d",p);
}
for(p=a+9;p>=q;p--)
{
s=s+*p;
}
printf("%d",s);
}

为什么这个程序输入1 2 3 4 5 6 7 8 9 10之后运行的结果是56而不是55呢?
而要把a[9]改成a[10] 结果才是55?
最佳答案
因为你定义一个数组为a[9]他只分配9个内存,也就是0到8

当然存储不了10个数字了

需要a[10]分配10个内存才能存储10个数字

如有帮助,谢谢采纳
全部回答

定义数组时,可以定义为float型的如:

double n=0;
int i,s=0;

float a[10];
for(i=0;i<10;i++)
{scanf("%lf,",&a[i]);}

你输入写的也太复杂了吧!! 你错误的原因是数组越界了,应该开a[10]; 我给你写一个正确的代码吧!! #include main() { int s=0,a[10]; int i; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<10;i++) { s=s+a[i]; } printf("%d",s); }
我调过 A[9]的时候 A[0]为第一个数 这个数要多家一次 而A[10]的时候 不会多家 第一个 至于是什么我也不知道
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个男人老叫你回自己家是什么意思,
天体的秩序是百合动漫吗?
七原罪第一季第二季全集望分享 谢谢
中国联通手机数码广场怎么去啊,有知道地址的
为何要讨伐血色先锋军,而且在ICC的战斗中为
老师不能赚外快包括假期也不能吗
小学五年级遇到学生捣乱,该怎么样处理??
梦幻西游盗号后被送进苦行,盗来的东西会不会
涂了防晒在外面走20分钟会晒黑吗
上条当麻到底是个什么身份,是造物主吗
佳宝路厨卫的质量方针是什么?佳宝路水槽的文
鲁迅是否是合格的文学家?
佳宜机动车价格评估公司怎么去啊,有知道地址
跪这张图的高清大图求
西工大女生头发的问题
推荐资讯
兰州雁滩旧货商贸城家具广场3号门这个地址在
delphi 中窗体的parent设为panel后edit控件不
神谷浩史脖子上咽喉下面两锁骨中间的位置那个
集东村怎么去啊,有知道地址的么
杨记鲜果地址有知道的么?有点事想过去
2017年春节三倍工资哪三天
有什么阅读软件能够和通讯录好友共享文章的?
迅康骨刺片哪里有卖的
以色列人敬拜上帝传统圣乐,哪里买到犹太教最
关于桃花的英语句子
快慢两车同时从甲乙两站相对开出,三十分钟相
上汽集团皮尔博格是什么意思?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?