cout和printf混合输出问题

[复制链接]
查看11 | 回复3 | 2013-1-24 11:55:37 | 显示全部楼层 |阅读模式
用cout输出内容的时候,不会立即输出到屏幕,而是放在缓冲区中,所以会出现楼主的现象。要解决这个问题,只要在cout语句后面,强制把缓冲器内容输出屏幕,即加入语句cout.flush(); 所以在楼主问题可以有几种解决方法:方法1:在for 里面的语句改成如下语句:coutj=;cout.flush();printf(%dn,j); 方法2:在for 里面的语句全部改成printfprintf(j=%dn,j); 方法3:在for里面的语句全部改成coutcoutj=jendl;赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:55:37 | 显示全部楼层
我很明确地告诉你,这是由于编译器版本不同而造成的,我的电脑上(Dev-c++ 5.3.0.2)因为缺少using namespace std而无法运行,添加后结果正常。所以,希望你用好一点的编译器,就不会有这种问题了。赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:55:37 | 显示全部楼层
删除cout j=输出改成printf(j= %dn,j);试试看吧追问我想知道为什么, 赞同0|评论
回复

使用道具 举报

千问 | 2013-1-24 11:55:37 | 显示全部楼层
zijixiang赞同0|评论
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行