使用sleep打印延迟一些字符()

时间:2017-03-20 18:29:12

标签: c sleep

#include<stdio.h>
int main()
{   int n=3;
    while(n>0)
    {   printf("P");
        n--;
        sleep(1);
    }
    return 0;
}

使用此代码3 P后3秒钟同时出现。但我希望它以1秒的时间间隔逐个出现。我应该如何修改它?

2 个答案:

答案 0 :(得分:1)

问题是printf没有刷新缓冲区。为此,您可以打印&#39; \ n&#39;在你的P之后: printf("P\n");

在stdout上调用fflush:

printf("P");
fflush(stdout);

答案 1 :(得分:0)

你的意思是这个:

#include<stdio.h>
int main(){  

 int n=3;
 sleep(1);

    while(n>0){   
        printf("P");
        n--;
        sleep(1);
      }
return 0;
}