level 10
挂羊头卖犬肉
楼主
代码如下:
#include <iostream>
using namespace std;
int main()
{
cout<<3<<4; //单步调试,执行完这一行后,dos界面上就已经输出了 34
cout<<5<<endl;
return 0;
}
求问以上问题,为什么在程序的“cout<<3<<4; ”这一行,执行完以后,既没有 endl、ends、flush、unitbuf,cout的缓冲区也没有满,程序也没有结束,也没有tie要输入,为什么cout的缓冲区会刷新呢?也就是为什么可以在dos界面上可以看到输出 34 呢?
我用的是vs2008,不知道GCC上是不是一样,orz求原理
2012年11月26日 12点11分
1
#include <iostream>
using namespace std;
int main()
{
cout<<3<<4; //单步调试,执行完这一行后,dos界面上就已经输出了 34
cout<<5<<endl;
return 0;
}
求问以上问题,为什么在程序的“cout<<3<<4; ”这一行,执行完以后,既没有 endl、ends、flush、unitbuf,cout的缓冲区也没有满,程序也没有结束,也没有tie要输入,为什么cout的缓冲区会刷新呢?也就是为什么可以在dos界面上可以看到输出 34 呢?
我用的是vs2008,不知道GCC上是不是一样,orz求原理