读书人

读取数量不定的输入数据,该怎么处理

发布时间: 2013-10-15 16:47:37 作者: rapoo

读取数量不定的输入数据
摘自《c++ primer》第五版1.4.3

代码为:
#include <iostream>
using namespace std;
int main()
{
int sum,value=0;
while(cin >> value)
sum+=value;
cout << sum;
system("pause");
return 0;
}

测试环境:devc++

结果:
(1)书中
如果我们输入
3 4 5 6
则程序会输出
Sum is: 18
(2)我的程序
不停的输入,敲回车后也能继续输入,只有输入错误时才执行cout,并且输出结果不是输入数的总和,是一个固定数(这个是溢出啦?)

以上就是我这个菜鸟的问题了,谢谢大家能来解答。

[解决办法]
sum 没初始化

[解决办法]
ctrl+z(结束输入)
[解决办法]
int sum,value=0;
这个只是把value初始化了,而sum没有初始化,很可能sum初始状态是个很大的数,而造成错误,正确的是初始化时要
int sum,value;
sum=0,value=0;
另外你的这个输入没有结束判断啊,意思就是可以一直输入下去
while(cin >> value)
sum+=value;
建议加入结束判断,例如输入一个后先判断一下是不是结束标识,而决定是否继续输入

读书人网 >C++

热点推荐