在For循环中输入

时间:2015-12-10 05:09:41

标签: c

如果“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键的时候。

2 个答案:

答案 0 :(得分:1)

这件事有什么作用?

这是有效的,因为scanf()仅在遇到spacenewlinetab时才会读取。

因此,当您提供输入1 2 3 4 5时,在第一次迭代scanf()读取1并遇到space并且scanf()终止保留值{ {1}}到[0] 1 2`的读取方式相同。

答案 1 :(得分:0)

带有"%d"格式的

The scanf (and family) function读取空格分隔输入。如果空格是换行符或单个空格无关紧要。

Enter 键只是告诉输入流系统输入已准备就绪(stdin默认使用scanf 行缓冲 ),确切地说输入无关紧要。