C++条件三元运算符

Hrv*_*rić -1 c++ conditional ternary operator-keyword

第11,12,15和16行正在获得错误:"int类型的无效操作数和const char [2]到二元运算符<<"(我删除了"`",因此它不会显示代码格式).

#include<iostream>

using namespace std;

int main(){

int md,dg,dd,mg,m,d;
cin >> md >> dg >> dd >> mg;

if (dd+dg==md+mg){
   cout << (mg>dg) ? 0 : 1 << " ";
   cout << (dg>mg) ? 0 : 1 << endl;
}
else{
      cout << (mg+md>dd+dg) ? 0 : (dd+dg-mg-md) << " ";
      cout << (dg+dd>md+mg) ? 0 : (md+mg-dg-dd) << endl;
}

system("pause");
}
Run Code Online (Sandbox Code Playgroud)

vit*_*aut 7

你需要在三元表达式周围加上括号:

 cout << ((mg>dg) ? 0 : 1) << " ";
Run Code Online (Sandbox Code Playgroud)

否则输入被解释为

 cout << (mg>dg) ? 0 : (1 << " ");
Run Code Online (Sandbox Code Playgroud)

由于运营商的优先权.