我花了很多时间来了解如何工作或它的语法代码是什么?

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

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

但最棒的是我不知道怎么回事
  • 必填我想给任何人解释一下,并告诉我它们的语法。

  • 谢谢。

    最佳答案

    该运算符本质上类似于这些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 } );
    

    关于c++ - 这行三元运算符的语法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59416345/

    10-09 07:13