VC++ 让屏幕停留???停留不了!!!!

来源:百度知道 编辑:UC知道 时间:2024/04/29 21:06:50
请大家看看下面这个简单的程序:
#include <stdlib.h>
//#include<conio.h>
#include<iostream.h>
int main()
{
cout<<"hello!"<<"\n";
//getch();
system("pause");
return 0;
}
程序运行时总是先执行“system("pause");”才执行“cout<<"hello!"<<"\n";”,到底为什么会这样???
麻烦哪位大虾详细解说解说!!!!!!!!
弄了好久都找不出原因啊~~~~

cout<<"hello!"<<"\n";
改成
cout<<"hello!"<<endl;

endl是一个特殊值,称为操纵符,将它写入输出流时,不仅具有输出换行的效果,而且它刷新与设备关联的缓冲区,通过刷新缓冲区,用户可立即看到写入到流中的输出。
\n仅仅是一个换行符,将它写入到输出流时,只能起到一个换行的作用,不能刷新输出。

这个我也要查一下,倒没有注意'\n'在cout里是否会刷新. 毕竟平时在cout里都用endl的.
在printf里'\n'是刷新缓冲区的.