2011-09-07 71 views
1
#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
    int i; 
    cout<<"enter ur no. plz"; 
    cin>>i; 
    cout<<"ur no. is:"<<i; 
    cin.get(); 
    return 0; 
} 

此代碼不顯示我輸入的整數。它輸入一個整數並回車後返回。我正在使用dev C++。爲什麼我的程序不顯示我輸出的整數?

+0

你是說在你按回車後它只返回整數嗎? –

+2

試着在'cout'後面放一個'<< endl',也許這是一個緩衝問題。 – Nobody

+0

這裏適合我...... –

回答

8

後,仍有換行符留在輸入緩衝器中。 cin.get()讀取該字符,程序立即結束。如果您希望程序保持打開狀態,您可以再撥打一個電話。或者,前調用get,你可以有一個電話忽視:

std::cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n'); 

這將清除緩衝區中的換行符。或者你可以從命令行運行程序,然後你會看到輸出。

+0

std :: cin.ignore(std :: numeric_limits :: max(),'\ n'); 添加此行解決了我的問題。謝謝本傑明。但是plz告訴我爲什麼在IDE devC++上運行簡單的程序很困難。 – John

4

添加一些endl S:用戶輸入整數

#include<iostream> 
#include<string> 
using namespace std; 
int main() 
{ 
    int i; 
    cout<<"enter ur no. plz"<<endl; 
    cin>>i; 
    cout<<"ur no. is:"<<i<<endl; 
    cin.get(); 
    return 0; 
} 
+4

或者如果不需要換行符,只需'刷新'。 – user786653

相關問題