【发布时间】:2018-01-14 02:49:35
【问题描述】:
我正在从 stdin 读取到数组 input[],但它在读取输入后永远不会离开循环并一直期待更多输入。我究竟做错了什么?
char input[1000];
while(scanf("%s",input)==1){
printf("%s\n",input);
}
【问题讨论】:
-
scanf返回成功匹配和分配的输入项数。%s匹配一系列非空白字符,也就是您的第一个单词,但将换行符\n留在缓冲区中。scanf返回 1。然后它读取换行符并返回一个,然后输入第二个单词,等等等等。你看到循环了吗? -
这里应该有一个操作系统标签。
-
你希望用户输入什么来表示输入结束?