【发布时间】:2013-07-08 02:11:06
【问题描述】:
我在 while 循环中使用了 scanf()。
while(1)
{
int input = 0;
scanf("%d\n", &input);
printf("%d\n", input);
}
当我运行这个程序并输入一个数字时,printf() 不会显示该数字,除非我再次输入另一个数字。为什么?
【问题讨论】:
-
你为什么把
\n放在scanf格式字符串中?你这样做的原因是什么? -
这个问题以前也出现过,但是我发现很难找到合适的副本。 Exiting a while loop at EOF using scanf in C 有同样的基本问题,格式字符串在数字转换周围有前导和尾随空格)。我适度确定它不是唯一的候选人。我不确定它是不是最好的候选人。
标签: c