【发布时间】:2013-06-14 14:49:01
【问题描述】:
像这样在scanf中放一个空格的目的是什么
scanf(" %c",&ch)
代替
scanf("%c",&ch)?
还有fflush(stdin) 中的输入缓冲区是什么?
【问题讨论】:
-
在读取字符之前在此处放置一个空格将忽略任何类型的空格。
-
stdin,你的程序的输入流.....你通过控制台输入的任何东西都会被放在那个缓冲区中 -
fflush()用于刷新 output 缓冲区,因此在输入流上调用它是没有意义的(通常是由于误解它会丢弃任何已经缓冲的输入)。 -
嗯,这在文档中有解释。不用问了。
-
@barmar,即使它确实很糟糕。将文件重定向为输入。您可能认为您正在刷新最后输入的行,但实际上您忽略了该重定向提供的整个输入。刷新输入毫无意义。如果您不想阅读输入,请不要!
标签: c