首先是空格在左边
直接上代码
输出的结果如下
看起来并没有什么问题
空格在右边
输出结果如下
这时候你会发现你怎么按空格按换行符,程序它都不会动
分析
%d的作用呢其实就是读数值并且把它移到输入缓存区,遇到空格或者换行符就结束
而空格呢,就是读空格或者换行符,遇到不是这俩的就结束
”%d “会让最后那个空格永远得不到满足,所以就会出现卡死的情况
下面再演示一下让大家深入理解
我加了一个getchar。前面scanf没有得到满足的空格遇到我输入的第6个数1结束,第6个数又被getchar拿走,这样程序就能继续跑了