C语言一维数组输入并求和,输入时a[0]和a[1]之间会多出一个数,但是结果却不会影响,这是哪里出错了啊?

求大神回答

你好!!

    把你 scanf 内的 \n 去掉吧

注意红圈内的 \n 删除

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-25
原因是你在scanf中加了\n, 但是不仅仅是去掉\n 那么简单,深入研究下去就涉及到缓冲区的问题。如果加了\n 读取操作延后一位,也就是说因为第二个数字的存在,最后那个数字a[9]是没用的 不会被存储! 不信你可以试一试

请输入a[0]1
1
请输入a[1]1
请输入a[2]1
请输入a[3]1
请输入a[4]1
请输入a[5]1
请输入a[6]1
请输入a[7]1
请输入a[8]1
请输入a[9]1000
sum = 10
Press any key to continue本回答被提问者和网友采纳
第2个回答  2013-10-25
将 scanf语句中的\n 去掉
相似回答
大家正在搜