对于嵌套if,将是什么等效操作

时间:2018-05-20 15:42:46

标签: rml

对于下面的if...else声明

if (a > b) {
    max = a;
}
else {
    max = b;
}

会产生如下的快捷方式吗?

max = (a > b) ? a : b;

这个ifnested if声明怎么样?

if (a > b) {
    max = a;
}
else {
    if (c > d)
        max = c;
    else
        max = d;
}

1 个答案:

答案 0 :(得分:0)

只是做:

max = (a > b) ? a :
      (c > d) ? c : d;

这可以被格式化为任意长,因此格式化很重要,因为三元运算符可以真正快速地混淆。考虑:

max = (a > b) ? a :
      (b > c) ? b :
      (c ? d) ? c :
      (d ? e) ? d : e;

节:

max = (a > b) ? a : (b > c) ? b : (c ? d) ? c : (d ? e) ? d : e;