刚学习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(文件结束符)都会使他失败返回错误,然后就退出循环了