Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 条件说明_C_Conditional Statements - Fatal编程技术网

C 条件说明

C 条件说明,c,conditional-statements,C,Conditional Statements,谁能给我解释一下这部分代码: int ret = leftIndex > middleIndex - 1?leftIndex:middleIndex - 1; 我还没有见过这样的组合,也没有见过以这种方式将条件放入整数变量中 谢谢。这个?:被称为三级操作符。其形式如下: condition ? true_result : false_result 也就是说: if(condition){ true_result; } else { false_result; } 您的

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

int ret = leftIndex > middleIndex - 1?leftIndex:middleIndex - 1;
我还没有见过这样的组合,也没有见过以这种方式将条件放入整数变量中


谢谢。

这个
?:
被称为三级操作符。其形式如下:

condition ? true_result : false_result
也就是说:

if(condition){
    true_result;
} else {
    false_result;
}
您的代码行转换为:

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

阅读关于三元运算符(
?:
)的内容。或者它的意思是,如果左索引大于中间索引减一,则取左索引,否则取中间索引减一。@haccks:C标准实际上称之为。@haacks:我知道你知道…;-)你的代码行翻译成“不安静,对吧”。
ret
的定义应在
if
-子句之前。