2012-07-12 339 views
2

鉴于这种一小段代码C++为什么我看不到cout的输出?

//============================================================================ 
// Name  : prwe.cpp 
// Author  : 
// Version  : 
// Copyright : Your copyright notice 
// Description : Hello World in C++, Ansi-style 
//============================================================================ 

#include <iostream> 
using namespace std; 

int main() { 
    cout << "Hello World" << endl; // prints Hello World 
    return 0; 
} 

的Eclipse下此代码编译,但没有在控制台窗口中显示。

任何想法我做错了什么?

感谢

+0

在return语句中保留一个断点或在cout之后尝试输入。 – Mahesh 2012-07-12 23:57:09

+1

您是否在IDE中运行此操作,即控制台窗口是否关闭?这将是预期的行为。 – 2012-07-12 23:57:59

+0

尝试使用getchar();之前返回0;声明。这将保持控制台打开。 – Inisheer 2012-07-12 23:58:14

回答

6

程序运行时,打印Hello World,并关闭之前,你可以看到它。

返回0之前添加

cin.get(); 

;它应该工作正常。然后,你将不得不按回车关闭控制台。

What cin.get();正在做的是要求用户继续输入,在这种情况下继续关闭程序。

+1

当我从eclipse运行这段代码时,它什么也没有显示。但是当我用断点调试代码时,然后看到输出。这是为什么 ? – ron 2012-07-13 00:02:58

+3

在你弄糊涂之前,为什么'cin'不起作用,'cin >> i'等缓冲区中的新行被cin.get()'消耗掉了,所以它看起来什么都不做,但它是实际上是提取左边的换行符。 – chris 2012-07-13 00:03:10

+0

发生这种情况的原因是因为程序打印了hello world并在之后关闭。当您到达main()的末尾时,控制台会自动关闭,并且添加一个断点可以防止出现这种情况,从而允许您查看输出。它没有显示任何内容的原因是程序运行速度太快,你看不到它。 – Snorf 2012-07-13 00:05:22

相关问题