【发布时间】:2016-01-19 03:24:28
【问题描述】:
考虑下面的代码
int main(){
int sum = 0, value = 0;
while (std::cin >> value)
sum += value;
std::cout << "sum is: " << sum << std::endl;
return 0;
}
>> 运算符的返回值是多少,while 循环是根据它计算的?程序在 EOF 输入时终止(Windows 为 Ctrl+Z)。这是否意味着 0 在 EOF 的情况下存储到 cin ?它与 EOF 的 ASCII 值有关吗?
【问题讨论】:
-
是
std::istream&,但这个问题是重复的。 -
嗯,还是不要这个,但总的来说它有很多答案。
-
stringstream或cin无关紧要,答案适用于所有std::istreams。 -
可能是个愚蠢的问题。返回值如何终止 while 循环?如果输入为 EOF,返回值是否为零?
标签: c++