这里我也理解的不咋的,大致意思应该就是根据运算符号 的优先级不同来解决的


条件运算符是其中一部分,而条件运算符具有右结合性,当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与理他最近的冒号配对,并按照这一原则区分个条件运算符的运算对象


注:条件运算符的优先级高于赋值,逗号运算符,低于其他运算符。


表达式:

表达式1?表达式2:表达式3


流程是先运算表达式1的值,如果表达式1的值为真值,这返回表达式2的值,否则返回表达式3的值。


例如 a>b?a:b;取ab最大值,


编写环境vs2015


int main()
{
int a = 10, b = 20;

std::cout << (a > b ? a : b);

std::getchar();
return 0;
}



这样会使程序简单一点

可以和下面的代码比对一下


int main()
{
int a = 10, b = 20;

std::cout << (a > b ? a : b);
//等价于
if (a > b)
{
std::cout << a;
}
else
{
std::cout << b;
}


std::getchar();
return 0;
}