我正在从标准输入读取到数组输入[]中,但它在读取输入后永远不会离开循环,并一直期待更多输入。我究竟做错了什么?
char input[1000];
while(scanf("%s",input)==1){
printf("%s\n",input);
}
最佳答案
您期望什么,您如何尝试终止它? scanf("%s", input)
始终等待输入,并且如果 stdin
为生命,则始终返回 1,它会跳过空格并匹配第一个没有空格的字符序列。请仔细阅读说明书。
如果您想继续使用 scanf
,那么您应该提供一个特殊的字符串来打破循环。
关于c:用 while(scanf()==1) 读取输入不会离开循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246276/