永发信息网

c++里面的一个小问题

答案:2  悬赏:20  手机版
解决时间 2021-04-26 03:03
  • 提问者网友:骑士
  • 2021-04-25 02:24

求输入数据的和(输入个数任意)

#include<iostream>

int main()

{int sum=0,value;

while(std::cin>>value)

sum+=vaule;

std::cout<<"sum is:"<<sum<<std::endl;

return 0;

}

这个程序看不懂了,是c++primer第四版15页的练习,它的循环是怎么实现的啊,结束条件是什么呢,在输入数据是输入什么才能结束循环啊,小第搞不懂。

最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-04-25 03:18
cin >> value的返回值仍然是istream
如果在while,if和for等条件语句中,由于cin对operator void*进行了重载
返回cin当前的流状态
如果流状态有错误或者已经达到了eof,那么返回值为0,否则返回1
所以在这个代码里只要你输入正确(也就是说,你输入的是一个合法的整数,不包含其他非数字字符,或者你没有输入EOF),cin的流状态没有错误,while就会一直循环

结束方法有2,一就是输入非数字字符,使cin失败;二是敲入EOF,windows和dos下是CTRL+Z,linux下是CTRL+D。
全部回答
  • 1楼网友:大漠
  • 2021-04-25 03:52
这个意思就是,只要输入的是一个数字,就一直执行,如果输入一个非数字,比如字母,就退出循环,输出结果
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯