【发布时间】:2019-08-04 09:37:53
【问题描述】:
下面的while循环应该是在没有输入的情况下终止的,怎么实现呢?
还有C++中scanf("%1d" &n)的类似物是什么?
我已经尝试使用返回值scanf() 并使用n==NULL 作为条件,但它们都导致无限循环。
int n;
int arr[100];
int i=0;
int r = scanf("%1d",&n);
while(r==1)
{
arr[i++]=n;
r = scanf("%1d",&n);
}
【问题讨论】:
-
“无输入”是什么意思?
-
scanf不接受 void 输入。要终止 scanf,您必须使用 ctrl-D (Linux/Unix)。这样你得到scanf返回-1。 -
您已将其标记为 C,但在问题中提到了 C++,它是什么?
-
OP 将其标记为
c和c++; @πάντα-ῥεῖ 然后删除了其中一个标签。 -
您可以使用计时器来确定最后一分钟没有输入并发送信号
标签: c input scanf restriction