xDr*_*LeK 1 c++ syntax conditional-operator
我尝试了很多次来了解如何工作或什么是语法代码呢?
greatest=(a>b&&a>c)?a:(b>c)?b : c;
Run Code Online (Sandbox Code Playgroud)
我知道三元运算符的主要语法
但最重要的是我不知道它是怎么来的
谢谢。
这个操作符本质上类似于这些 if-else 语句
if ( a > b && a > c )
{
greatest = a;
}
else if ( b > c )
{
greatest = b;
}
else
{
greatest = c;
}
Run Code Online (Sandbox Code Playgroud)
为了使带有两个嵌套条件运算符的表达式更清晰,请使用括号
greatest = ( a > b && a > c ? a: ( b > c ? b : c ) );
Run Code Online (Sandbox Code Playgroud)
您可以使用标准算法std::max而不是带有两个嵌套条件运算符的表达式。例如
greatest = std::max( { a, b, c } );
Run Code Online (Sandbox Code Playgroud)