初学C++,对"cin<< "于"cin.get()"的一些讨论

实验环境为visual studio 2010

对于下段代码:

#include<iostream>

using std::cin;
using std::cout;
using std::endl;

void display(int hour,int minute);

int main()
{
int hour;
int minute;
cout<<"Enter the number of hours: ";
cin>>hour;
cout<<"Enter the number of minutes: ";
cin>>minute;
display(hour,minute);
}

void display(int hour,int minute)
{
cout<<"Time: "<<hour<<":"<<minute<<endl;
}

运行结果为

Enter the number of hour: 9

Enter the number of minute:28

Time: 9:28

 

让我感到奇怪的是,为什么这三句会自动换行。于是我把代码修改了一下,如下:

#include<iostream>

using std::cin;
using std::cout;
using std::endl;

void display(int hour,int minute);

int main()
{
int hour;
int minute;
cin.get();
cout<<"Enter the number of hours: ";
cin>>hour;
cout<<"Enter the number of minutes: ";
cin>>minute;
display(hour,minute);
}

void display(int hour,int minute)
{
cout<<"Time: "<<hour<<":"<<minute<<endl;
}

 

当第一次直接用回车的时候,下面依然会换行,但是如果随便输入一下数字再回车,就不会换行,所以...有很多不解,现在先将问题留在这里,继续深读《C++primer plus》

 

posted on 2013-08-23 12:53  consider  阅读(135)  评论(0)    收藏  举报

导航