gpt4 book ai didi

对 getchar() 函数感到困惑

转载 作者:太空狗 更新时间:2023-10-29 16:32:04 26 4
gpt4 key购买 nike

我对 getchar() 在以下代码中的作用感到困惑。我的意思是我知道它可以帮助我查看输出窗口,该窗口只会在我按下 Enter 键时关闭。

所以 getchar() 基本上是在等待我按下回车键,然后读取一个字符。

这个函数读取的那个单个字符是什么?我没有按键盘上的任何键来读取它。

现在,当它没有阅读任何内容时,为什么它不报错“嘿,你没有输入任何内容供我阅读”?

#include <stdio.h>

int main()
{
printf( "blah \n" );
getchar();
return 0;
}

最佳答案

那是因为 getchar() 是一个阻塞函数。

你应该阅读 blocking functions ,这基本上使进程等待某事发生。

这种等待行为的实现取决于函数,但通常是等待某个事件发生的循环。

对于 getchar() 函数,这可能是作为一个循环实现的,该循环不断读取文件(在本例中为标准输入)并检查文件是否被修改。如果文件被修改,循环将通过执行其他操作来运行。

关于对 getchar() 函数感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2408140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com