对getchar()函数感到困惑

我对getchar()在以下代码中的作用感到困惑.我的意思是我知道这有助于我看到输出窗口,只有当我按Enter键时才会关闭.

所以getchar()基本上是等待我按enter然后读一个字符.

这个功能正在阅读的单个字符是什么?我没有按键盘上的任何键来读取.

现在,当它不读任何东西时,为什么不给出错误说“嘿,你没有输入任何东西给我读”?

#include <stdio.h>

int main()
{
    printf( "blah \n" );
    getchar();
    return 0;
}
最佳答案
getchar()函数只会等到它收到一个字符,把程序保持起来直到它.

当您按Enter键时,会发送一个字符;在Windows操作系统下,它将发送回车(CR)和换行符(LF).

请参见this CodingHorror post一个很好的说明.

(… CR LF部分的解释,而不是getchar()阻塞部分)

转载注明原文:对getchar()函数感到困惑 - 代码日志