注册 登录
编程论坛 VC++/MFC

请教一个读入未知数目的输入问题

sunhang777 发布于 2010-07-22 12:53, 816 次点击
#include <iostream>
int main()
{
    int sum=0,value;

    while(std::cin>>value)
        sum+=value;

    std::cout<<"Sum is : "<<sum<<std::endl;
    return 0;
}


这是c++ Primer 第四版上面的一个例子,在第15页
程序输入:3 4 5 6
输出:sum is 18
 

我在VC中运行输入后,没有输出结果。请大家指导一下,谢谢.
7 回复
#2
sunhang7772010-07-22 13:03
再加一句,如果是输入:3 4 5 6 a  
就可以得到Sum=18
a可以是任意字母
 
不清楚为什么输入任意字母就可以跳出循环,请大家知道一下。
#3
mxs8102010-07-22 13:52
cin的返回值缘故,
借鉴一下http://blog.
#4
sunhang7772010-07-23 23:11
谢谢你,明白了。真的是好经典的解释。
#5
南国利剑2010-07-24 02:05
三楼的说法不错!
#6
zzyu2202010-07-27 22:02
谢谢,学习了
#7
vfdff2010-08-05 23:52
以下是引用mxs810在2010-7-22 13:52:19的发言:

cin的返回值缘故,
借鉴一下http://blog.
operator void *() const { if(state&(badbit|failbit) ) return 0; return (void this; }

为什么  http://blog. 介绍了 * 的重载定义,而不是>> 呢?
#8
baoyewei992011-05-20 18:33
那 这个 程序 到底  该  如何写?? 才能 一敲回车 就出 sum= !
1