首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

刚学习STL中的一个有关问题

2012-12-30 
刚学习STL中的一个问题#include iostream#include vector#include algorithmusing namespace stdin

刚学习STL中的一个问题
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> num;
int a,i;
cout<<"输入一组数据";
while(cin>>a)
num.push_back(a);
sort(num.begin(),num.end());
for(i=0;i<num.size();i++)
cout<<num[i]<<" ";
return 0;
}

为什么输入的时候要输入一个字符才能结束输入,求解啊
[解决办法]
要结束输入 必须使得while(cin>>a)失败,因为a是int,所以你输入字符,cin>>a就返回错了,就退出while,
[解决办法]
(cin>>a)的返回是cin,
这里的结束条件 是输入流不符合int类型要求 或者 遇到文件结束符
[解决办法]
楼上正解,使cin失败这个循环才能退出,a是int型的,你输入其他类型或者EOF(文件结束符)都会使他失败返回错误,然后就退出循环了

热点排行