首页 > c语言编程问题

c语言编程问题

数组的个数是4个,但是为什么要输入5个元素后才能运行呢?而且第5个元素随意输入一个元素都不影响运行结果。求大神解答啊


感觉是scanf("%d\n",&a[i]),吃掉了一个\n,导致第一个键盘换行,并没有结束第一次scanf。写成scanf("%d",&a[i])试试呢


同一楼答案,问题确实是出在这个地方。
但我个人认为是,所有的换行都被scanf吃进去了(包括输完最后一个数之后敲的换行),但是没有间隔符告诉scanf停止输入啊。类似输入数组大小4的时候,要按一下回车,才能真正把4读进去。我认为应该在输入完最后一个数时连敲两下换行,前一个是读最后一个数连着要读进去的换行,后一个是告诉scanf输入结束。因为现在身边没有电脑,无法亲自实验。
不过,这种写法本身就很奇怪,完全可以不要那个'\n',即一楼的改法。

【热门文章】
【热门文章】