我试图在一个循环中输入。我怎么知道输入何时停止?比如说我有一个int input
,只要用户想要,我就会接受输入。但我没有在每次输入之前提示。我不是在问用户是否有更多的输入,我也不知道提前输入的数量。
如何停止接受输入?
这是我到目前为止所拥有的。
while(1){
scanf("%d",&input);
if(conditionFulfilled)
index=0;
if(index)
printf("%d",input);
}
在这里,只要不满足条件,我都会打印所有内容。但是一旦满足条件,我就会继续输入,但不要打印它们。我怎么知道输入何时停止?
我现在会尽量让自己更清楚。
我想要做的是,我希望用户继续输入数字,现在我想以相同的顺序打印这些数字,但是一旦用户输入了一个大于 50 的数字,我不想打印那个数字以及之后的任何数字.
此外,一旦达到上述条件,我不希望用户停止输入输入。另外,我可以每次询问用户是否要输入更多号码?我只希望他继续进入,然后一旦他完成。我应该得到所需的打印输出。
但我就是想不通,我怎么知道用户是否完成了所有的输入。
我在想我可以将输入存储为字符,因为 newLine 存储在字符中而不是整数输入中。即scanf("%c",&input)
。将存储\n
字符,但如果它scanf("%d",&input)
会忽略所有换行符,现在我可以检查两个连续的换行符,这将停止它。
好吧,我不确定这是否是正确的方法?
另外,假设我输入4
然后按回车键,现在 4 并且enter
两者都在输入流上,现在我如何清除这个输入流中的 newLine 字符,并在我的变量中输入 4?我希望它现在更有意义?
编辑:我想上面的解决方案不会起作用,因为如果我接受输入,因为char
我将无法处理22
,因为它只会占用前 2 个并将另一个留在缓冲区中。