c++两数求和的问题,很简答,但不会

输入多组数据:每组由两个整数(a和b)构成,a和b之间用空格隔开,每组数据单独占一行。 因为不知道有多少组数据,请想办法判断输入何时结束。求大神帮忙解决

while (scanf("%d %d", &i, &j) == 2)
{
printf("%d\n", i + j);
}

也可以写
while (scanf("%d %d", &i, &j) != EOF)
{
printf("%d\n", i + j);
}
运行的时候用 ctrl+z 结束输入

 #include <iostream>
using namespace std;
int main()
{
    int a,b;
    while(cin>>a>>b)
    {
        cout<<(a+b)<<endl;
    }
    return 0;
}

用C++的while(cin>>a>>b)很方便,C语言的scanf由于涉及回车符的问题,很不讨喜。