gpt4 book ai didi

c - 在 C 语言中使用 getchar

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:05 25 4
gpt4 key购买 nike

在下面的函数中:

int main() {

int c;

c=getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}

}

它第一次运行 getchar() 时,它“等待”我输入文本。但是下一次(在我输入文本之后),它会打印之前输入的文本。 getchar() 的工作方式是否会根据是否有先前的输入或该项目的具体工作方式而有所不同?

如果有人能解释一下上面发生的事情,那就太好了。

最佳答案

getchar() 从“标准输入”流中读取。默认情况下,此流通常是行缓冲的,这意味着在完整行可用之前不会传递任何输入。

因此,当您运行程序时,它会在第一个 getchar() 处停止,直到您输入完整的一行。然后它围绕循环运行,getchar() 立即返回该行中的每个后续字符,直到并包括终止换行符。之后的下一个 getchar() 将再次阻塞,等待下一行。

关于c - 在 C 语言中使用 getchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57582732/

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