gpt4 book ai didi

c - 延迟之前的 printf 在 C 中不起作用

转载 作者:太空狗 更新时间:2023-10-29 17:26:42 27 4
gpt4 key购买 nike

有谁知道为什么如果我在延迟之前放置一个 printf,它会等到延迟完成后再打印消息?

代码 1 与 sleep():

int main (void)
{
printf ("hi world");
system("sleep 3");
}

具有 self 实现延迟的 Code2:

void delay(float sec)
{
time_t start;
time_t current;
time(&start);
do{
time(&current);
}while(difftime(current,start) < sec);
}
int main (void)
{
printf ("hi world");
delay(3);
}

如果:

printf ("hi world");
delay(3);
printf ("hi world");
delay(3);

它一直等到 sleep 总和,然后同时打印消息

为什么会这样?

更新:我在调用 delay 时写了 delay("sleep 3"),我的意思是 delay(3)。更正

最佳答案

printf 缓冲它的输出,直到输出换行符。

添加 fflush (标准输出);按需刷新缓冲区。

关于c - 延迟之前的 printf 在 C 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528641/

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