为什么输出任意字母才能继续执行求和呢?VC++2010
#include<iostream>
int main()
{
int sum=0,value;
while(std::cin>>value)
sum+=value;
std::cout<<"Sum is: "<<sum<<std::endl;
return 0;
}
输出3 4 5 6回车
没反应
输入任意字母 输出为Sum is 18
为什么?我没有定义输出字母才输出结果啊?我用的是VC++2010
[解决办法]
输入3456后输入回车并不能使while为假,顾不能终止while(std::cin>>value) sum+=value;
的执行,所以就没反应,但是如果你输入的的是任意字符std::cin>>value为假,导致while终止,输出上面计算的3456.
不知道我说明白了没有,好运
[解决办法]
while(std::cin>>value)