详解读入未知数目的输入一例
#include<iostream>
using namespace std;
int main()
{
int sum=0,value;
while(cin>>value)
sum+=value;
cout<<sum;
}
对于此例中的循环条件,和以往的回车和空格不一样,我想了半个多小时 ,终于有了答案。
很多情况下我们把回车或空格误认为循环结束标志(有些迷惑性),但是他们只是一次输入结束的标志。C++中,istream对象作为循环条件(关键),会测试输入流状态,测试成功就会执行语句,如果遇到ctrl+d或ctrl+z(文件结束符),或无效输入,则会退出循环。