gpt4 book ai didi

c - 慢慢出现printf,在C99中

转载 作者:行者123 更新时间:2023-11-30 19:51:50 28 4
gpt4 key购买 nike

我想制作一个类似于 printf 的函数,但通过使用 double for 使文本显示缓慢,一个用于打印字符,一个用于花费时间:

    char phrase[30]={"Printf random"};
for(int a=0;a<=30;a++){
printf("%c",phrase[a]);
for(int t=0;t<=1000000;t++){
int f;
f++;
}
}

但是当我运行时,一开始需要几秒钟(第二个 for),然后它会打印所有短语。

为什么每次第一个输入时它不进入第二个?也许一旦程序第一次计算了秒,就不需要时间再次计算它了?我该如何修复它?

最佳答案

首先,在你的代码中,说

 for(int a=0;a<=30;a++){    

你差一分,它会调用 undefined behavior 。应该是

 for(int a=0;a<30;a++){

也就是说,您需要刷新输出缓冲区才能将缓冲区内容实际发送到关联的文件。否则,标准输出实际上是行缓冲的,它不会自动刷新内容。所有的内容都会被存储在缓冲区中,当程序即将结束时,所有打开的缓冲区都会被刷新,然后整个内容就会一起出现。

关于c - 慢慢出现printf,在C99中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478083/

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