<分区>
这是我的代码:
#include <stdio.h>
int main()
{
char a = getchar();
printf("char: %c", a);
}
我正在用 gcc
编译它。
运行时,即使在控制台输入一个字符后,程序仍会等待输入。它不应该立即退出并打印字符吗?我在 Windows 版 Ubuntu 上运行它,如果这能有所作为的话。
<分区>
这是我的代码:
#include <stdio.h>
int main()
{
char a = getchar();
printf("char: %c", a);
}
我正在用 gcc
编译它。
运行时,即使在控制台输入一个字符后,程序仍会等待输入。它不应该立即退出并打印字符吗?我在 Windows 版 Ubuntu 上运行它,如果这能有所作为的话。
最佳答案
stdin
是您的默认输入流。 stdin
的默认缓冲模式是行缓冲。所以它等待输入 \n
。然后只有从输入流中读取一些东西,然后 getchar
获取输入并使用它。
关于c - 为什么输入一个字符后 getchar 会等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49114989/