这行三元运算符的语法是什么

时间:2019-12-19 20:11:41

标签: c++ syntax conditional-operator

我花了很多时间来了解其工作方式或语法代码是什么?

greatest=(a>b&&a>c)?a:(b>c)?b : c;

我知道三元运算符的主要语法

但是最棒的是我不知道怎么回事

  • 必填项,我想让任何人向我解释一下,并告诉我它们的语法。

谢谢。

1 个答案:

答案 0 :(得分:6)

该运算符本质上类似于这些if-else语句

if ( a > b && a > c )
{
    greatest = a;
}
else if ( b > c )
{
    greatest = b;
}
else
{ 
    greatest = c;
}

要使带有两个嵌套条件运算符的表达式更清晰,请使用括号

greatest = ( a > b && a > c ? a: (  b > c ? b : c ) );    

您可以使用标准算法std::max来代替带有两个嵌套条件运算符的表达式。例如

greatest = std::max( { a, b, c } );