2011-09-07 148 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

相关问题