如果是windows系统,输了1 2 3 4后按ctrl+z

解决方案 »

  1.   

    还有。。#include <iostream>int main()
    {
    int a=0,b;   //这里少了分号
    while(std::cin>>b)
    a+=b;
    std::cout<<a; //这里少了std::
    return 0;
    }
      

  2.   

    while(std::cin>>b)你这个循环什么时候会结束?
    永远不会结束。
    因为cin的operator>>返回值为istream& 即cin本身,不会为空,该循环不会结束。
    当你输入了4个数字后,仍然卡在while(std::cin>>b)这里,继续要求输入新值。所以要么在有限次循环里做:#include <iostream>int main()
    {
    int a=0, b;
    for(int i=0; i<4; i++)
    {
    std::cin>>b;
    a += b;
    }
    std::cout<<a;
    return 0;
    }
    要么输入特殊数字(如0)时停止输入:#include <iostream>int main()
    {
    int a=0, b;
    while (std::cin>>b)
    {
    if (b == 0)
    break;
    a += b;
    }
    std::cout<<a;
    return 0;
    }