刚学习STL中的一个问题

魔w_j剑 2012-11-08 10:39:08
#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;
}

为什么输入的时候要输入一个字符才能结束输入,求解啊
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kuovane 2012-11-08
  • 打赏
  • 举报
回复
(cin>>a)的返回是cin, 这里的结束条件 是输入流不符合int类型要求 或者 遇到文件结束符
十八道胡同 2012-11-08
  • 打赏
  • 举报
回复
要结束输入 必须使得while(cin>>a)失败,因为a是int,所以你输入字符,cin>>a就返回错了,就退出while,
pisces_hao 2012-11-08
  • 打赏
  • 举报
回复
楼上正解,使cin失败这个循环才能退出,a是int型的,你输入其他类型或者EOF(文件结束符)都会使他失败返回错误,然后就退出循环了

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧