当我运行类似的东西
for (i = 1; i <= 10; i++) {
sleep(1);
printf(".");
}
Run Code Online (Sandbox Code Playgroud)
那么我所期待的是每秒一个点十次.我得到的是十秒后十点.为什么会如此,以及如何使程序每秒(或不同的时间间隔)实际打印一个点(或做其他事情)?
Mik*_*ike 11
在printf()正在缓冲数据,你可以强制刷新该数据有fflush(stdout):
for (i = 1; i<=10; i++)
{
sleep(1);
printf(".");
fflush(stdout);
}
Run Code Online (Sandbox Code Playgroud)