hank_sunday 2022-06-18 15:14 采纳率: 100%
浏览 20
已结题

每秒输出一个1,结果等了5秒输出了5个一

我想每秒输出1,结果等了5秒输出了5个一,为啥?
#include <iostream>
#include <unistd.h>
using namespace std;
int main(){
    for(int i=0;i<5;i++){
        cout<<1<<endl;
        sleep(1);
    }
    return 0;
}

结果:
第1秒:

第2秒:

第3秒:

第4秒:

第5秒:

第6秒:
11111

尝试过printf也不行
每秒输出一个1
  • 写回答

3条回答 默认 最新

  • hank_sunday 2022-06-19 14:38
    关注

    我已经解决了,在cout后面加个flush

    
    #include <iostream>
    #include <unistd.h>
    using namespace std;
    int main(){
        for(int i=0;i<5;i++){
            cout<<1<<flush;
            sleep(1);
        }
        return 0;
    }
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 6月18日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据