使用 sleep() 延迟打印字符
Print characters with some delay using sleep()
#include<stdio.h>
int main()
{ int n=3;
while(n>0)
{ printf("P");
n--;
sleep(1);
}
return 0;
}
使用此代码,3 秒后会同时出现 3 个 P。但我希望它以 1 秒的时间间隔一个接一个地出现。我该如何修改?
问题是 printf
没有刷新缓冲区。为此,您可以在 P 之后打印 '\n' :
printf("P\n");
在标准输出上调用 fflush :
printf("P");
fflush(stdout);
你是说这个:
#include<stdio.h>
int main(){
int n=3;
sleep(1);
while(n>0){
printf("P");
n--;
sleep(1);
}
return 0;
}
#include<stdio.h>
int main()
{ int n=3;
while(n>0)
{ printf("P");
n--;
sleep(1);
}
return 0;
}
使用此代码,3 秒后会同时出现 3 个 P。但我希望它以 1 秒的时间间隔一个接一个地出现。我该如何修改?
问题是 printf
没有刷新缓冲区。为此,您可以在 P 之后打印 '\n' :
printf("P\n");
在标准输出上调用 fflush :
printf("P");
fflush(stdout);
你是说这个:
#include<stdio.h>
int main(){
int n=3;
sleep(1);
while(n>0){
printf("P");
n--;
sleep(1);
}
return 0;
}