c++ 怎么结束while循环

#include<iostream>intmain(){intsum=0,value=0;while(std::cin>>value)sum+=value;std::co... #include <iostream>
int main()
{
int sum = 0, value = 0;
while (std::cin >> value)
sum += value;
std::cout << "sum is" << sum << std::endl;
return 0;
}
用的是vs ,输入ctrl+z 就直接结束了,没有结束while循环,执行下一条语句
展开
 我来答
葱头格拉汉姆
2015-01-26 · TA获得超过162个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:147万
展开全部

C++的流控制里面有eof()成员,可以用来标定输入完成。

Ctrl+z可能和windows或者VS的快捷键,弄一块了,所以直接给退了。下面是完整点的流控:

int ival;
while(cin>>ival,!cin.eof()){
    if(cin.bad())    //input stream is corrupted; bail out
        throw runtime_error("IO stream corrupted");
    if(cin.fail()){    //bad input
        cerr<<"bad data,try again";
        cin.clear(istream::goodbit);    //reset the stream
        cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
        //ignore bad input
        continue;
    }
    //ok to process ival
}

看看能否用上,记得加头文件不然报错

追问
恩  我再研究下  c++ primer里有好多例子都这么写
上帝vs死神1
2015-01-26 · 超过23用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:42.1万
展开全部
只要输入,就会执行while语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九幽蛙魔
2015-01-26
知道答主
回答量:9
采纳率:0%
帮助的人:16.1万
展开全部
#include <iostream>
int main()
{
int sum = 0, value = 0;
while (std::cin >> value)
{
// 使用条件退出循环
if(value < 0)

break;

sum += value;
}
std::cout << "sum is" << sum << std::endl;
return 0;
}
追问
这个我刚试了  还是跳出来  谢谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
新人旧酒o
2015-01-26 · TA获得超过290个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:166万
展开全部
while (std::cin >> value)

if(value == 10086) break;
sum += value;

改成这样
只要你输出10086 就退出了。。。
追问
这个我也试了  也跳出来 谢谢
追答
不客气
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式