2012-07-12 345 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

相關問題