当输入序列是:1 2 3 4 5
时,还是什么样的情况呢
在我进行测试的时候发现,我已经输入5個数了但是scanf的读入并没有结束,读入光标也一直在闪动这就很奇怪了,不是读入五个数字吗不是应该输入结束了吗?仔细检查代码我们可以发现,并不是我们在哪要多读入一个数字那是为什么呢?测试一下!既然它光标还在闪动那再输入一个数进去看看,
我们發现在输入一个数字就好了而且就是读入我们输入的前5个数字,那就很奇怪了明明已经读到了可为什么还不结束输入呢?再仔细检查┅遍代码其实问题就出现在一个空格上!!!观察这段代码:
在 “%d ” 里是一个%d加一个空格,这是程序读入数据时的格式这个格式是什麼意思呢?
这个格式的意思是说是在读完一个整数后格式中的空格还需要匹配一次有效的输入,就是需要再读一个整数所以也就造成叻输入6个数据只读取了5个。所以把格式中的空格去除即可