关于延时打印的问题

今天同学问到一个问题,他想延时输出一串数字,为了美化程序嘛,可是在程序中加入sleep(1)好像不行,因为要等循环执行完了,等了n个睡眠之后才能一下全输出在屏幕上了,后来我给他想了一个笨方法,就是用for空循环,执行差不多一亿次,可以实现了,问题又来了,我实现的时候printf()中有个'\n',当把'\n'去掉的时候,又出现了等待n久一次全部打印的情况,唉!这是什么情况呢??只好baidu一下!

原来,在打印的时候,要输出的内容并没有马上打印在屏幕上,而是存入了缓存中,解决方法就是用fflush()强制把缓冲内容打印即可。例如:

  1 #include <stdio.h>
  2 main()
  3 {
  4         int a;
  5         for(a=1;a<10;a++)
  6         {
  7                 printf("%d",a);
  8                 fflush(stdout);
  9                 sleep(1);
 10         }       
 11 }   

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值