【发布时间】:2016-05-30 10:03:51
【问题描述】:
我想制作一个类似于 printf 的函数,但它使文本出现缓慢,通过使用 double for,一个打印 char 和一个花费时间:
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 循环之间刷新缓冲区。
-
您的
stdout已被缓冲。您必须将其设置为无缓冲,否则您必须刷新它。 -
不要使用空操作循环实现延迟。查看
Sleep或nanosleep之类的函数。