注册 登录
编程论坛 C++教室

谁能帮忙解释一下这个为什么无法运行。

GELUCk 发布于 2018-01-21 22:46, 1951 次点击
#include <iostream>
using namespace std;
int main()
{
    int a, b, c;
    cout << "please enter a,b,c" << endl;
    cin >> a >> b >> c;
    cout << "the biggest is ";
    int mid;
    {if (a > b)
        mid = a;
      {
        if (mid > c)

            cout << mid;
        else
            cout << c;
      }
      if (b > a)
          mid = b;
      {
          if (mid > c)
              cout << mid;
          else cout << c;
      }
    }
    system("pause");
    return 0;
}
5 回复
#2
yangfrancis2018-01-21 22:56
不能运行那就把错误信息公布出来啊
#3
stop12042018-01-22 10:05
int main()
{
    int a, b, c;
    cout << "please enter a,b,c" << endl;
    cin >> a >> b >> c;
    cout << "the biggest is ";
    int mid;  //最好给定一个初始值
    {if (a > b)
        mid = a;          //如果你这个if为false , 那 下面那句 mid 开始就已经错了
      {
        if (mid > c)

            cout << mid;
        else
            cout << c;
      }
      if (b > a)
          mid = b;
      {
          if (mid > c)
              cout << mid;
          else cout << c;
      }
    }
    system("pause");
    return 0;
}
#4
GELUCk2018-01-22 21:26
回复 3楼 stop1204
明白了,没问题了。(但是,如果输入3 4 5后,它会输出两个5,这是怎么回事)
#5
yangfrancis2018-01-22 21:48
先判断了if(a>b)之后。到后面仍然是要判断if(b>a)的,两次判断各输出了一次。如果你不想输出两次,把if(b>a)换成else语句,后面内容放在花括号里。
#6
stop12042018-01-22 23:03
建议你用调试模式运行,  你就知道你输出内容是怎么来的了.
1