c - 为什么输入一个字符后 getchar 会等待?

标签 c input getchar

<分区>

这是我的代码:

#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/

相关文章:

java - 查找某个单词或短语在文档中出现的次数

javascript - 如何在输入标签中使用javascript显示实时输入?

c - 我怎么用错了getchar()?

c - getchar() 在 C 中给出输出

c - 左移后面加 1? C语言

c - scanf() 将换行符留在缓冲区中

c - 如何避免在 C 中更改 const 的值

具有 char 成员的结构的自定义 memcmp()

javascript - 当用户输入 React js 时如何设置自定义输入状态结构

c - 从控制台读取字符