如果“for loop”是这样的,
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
然后, 输入可以是,
1
2
3
4
5
每次进入下一个输入时按Enter键。
OR
1 2 3 4 5
在不同输入值之间使用空格字符。
现在,这件事怎么样? 我的意思是如果循环正在运行, 那么它如何识别输入是在下一个循环周期而没有按Enter键的时候。
答案 0 :(得分:1)
这件事有什么作用?
这是有效的,因为scanf()
仅在遇到space
或newline
或tab
时才会读取。
因此,当您提供输入1 2 3 4 5
时,在第一次迭代scanf()
读取1
并遇到space
并且scanf()
终止保留值{ {1}}到[0] 1
2`的读取方式相同。
答案 1 :(得分:0)
"%d"
格式的 The scanf
(and family) function读取空格分隔输入。如果空格是换行符或单个空格无关紧要。
Enter 键只是告诉输入流系统输入已准备就绪(stdin
默认使用scanf
行缓冲 ),确切地说输入无关紧要。