gpt4 book ai didi

c - printf 等待输入

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

int kr=0;
int ss =0;
while ((kr=getchar()) != EOF){
if(kr != '\n')
{
ss++;
}

printf("%d\n",ss);
}

使用这段代码,printf 一直在等待,直到我按下回车键,然后像这样同时打印所有连续的 ss 值

enter image description here

.有人可以解释这种行为吗?

最佳答案

printf 不是在等待,而是等待 getchargetchar 在后台使用缓冲区。当该缓冲区为空时,getchar 将从标准输入读取 1 行,然后返回第一个字符。如果不为空,则立即返回缓冲区中的下一个字符。

这意味着 getchar 将在您第一次调用它时等待。因此,在您按下 enter

之前,您的 printf 永远不会执行

关于c - printf 等待输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899548/

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