超级简单的问题,我就是弄不明白了,个位帮看看啊!

lona 2003-10-20 05:43:00
#include <iostream.h>
#include <stdio.h>

void main()
{
cout<<"1234567890\n";
char g=getchar();
cout<<g<<endl;
}


//就这个程序,理论上我觉得应该先输出1234567890
//然后再输入g

//但是怎么编译执行的时候偏偏和我想的反过来
//先输入g,在显示1234567890

//如果我要先显示1234567890
//再输入g,怎么实现啊!


//谢谢解答!
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
leyt 2003-10-20
  • 打赏
  • 举报
回复
不知楼主用的是什么编译器? 可能不同编译器实现不一样。
主要的原因就是刷新输出缓冲区的问题,前面的几位都已经说出来了。
speedfirst 2003-10-20
  • 打赏
  • 举报
回复
第一句没有刷新输出流缓冲区,而默认情况下缓冲区要满了才会真正输出。这样比一个字一个字的输出更有效率。如果想立刻输出可以用:
cout<<endl; //刷新输出流并回车

cout<<flush;//只是刷新输出流
kfjin 2003-10-20
  • 打赏
  • 举报
回复
在VC++测试了一下:应先输出"123456789"的呀。
Jinhao 2003-10-20
  • 打赏
  • 举报
回复
void main()
{
cout<<"1234567890"<<endl; //endl的作用,立即送出显示
char g=getchar();
cout<<g<<endl;
}
w123wxh 2003-10-20
  • 打赏
  • 举报
回复
我运行了你的程序
没有出现你说的问题啊
kfjin 2003-10-20
  • 打赏
  • 举报
回复
在v6++上通过测试啦:是先输出“123456789”的呀!
danpianji2002 2003-10-20
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <stdio.h>

void main()
{
char g;
cout<<"1234567890\n";
cin>>g;
cout<<g<<endl;
}
fupa0 2003-10-20
  • 打赏
  • 举报
回复
cout<<"123456789\n"<<endl;
bing_huo 2003-10-20
  • 打赏
  • 举报
回复
???

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧