首页 > 解决方案 > 条件说明

问题描述

谁能解释一下这部分代码:

int ret = leftIndex > middleIndex - 1?leftIndex:middleIndex - 1;

我还没有看到这样的组合或以这种方式将条件放入整数变量中。

谢谢你。

标签: cconditional-statements

解决方案


?:称为三级运算符。它采用以下形式:

condition ? true_result : false_result

翻译为:

if(condition){
    true_result;
} else {
    false_result;
}

您的代码行转换为:

if(leftIndex > middleIndex - 1){
    int ret = leftIndex;
} else {
    int ret = middleIndex - 1;
}

推荐阅读