输入:
输入将由一系列整数a和b组成,由空格分隔,每行一对整数。你应该阅读输入直到EOF。
样本输入:
1 5
7 2
示例输出:
6
9
我的代码:
#include "iostream"
using namespace std;
int main(){
int a=1,b;
do
{
cin>>a;
if(a==EOF)
break;
cin>>b;
cout<<a+b;
}while(1);
return 0;
}
这些是我的错误:
Main.cc: In function 'int main()':
Main.cc:8: error: 'EOF' was not declared in this scope
答案 0 :(得分:2)
cin>>a;
在到达文件末尾时未将a
设置为任何内容,它会更改流的状态。您可以通过检查cin
本身的状态来检查文件的结尾:
cin >> a;
if (!cin)
break;
答案 1 :(得分:0)
使用流的惯用方法:
int a, b;
if (!(std::cin >> a >> b)) { /* error! */ }
std::cout << a + b << std::endl;
如果你处于循环中,你甚至可以说:
while (std::cin >> a >> b)
{
// do stuff
}