return int_length(len > 0 ? len : 1)
括号中语法的含义是什么,我在阅读此代码时一直感到困惑。 感谢
答案 0 :(得分:4)
这是一个三元运营商。如果len>0
为真,则表达式的结果为len
,其他1
。
if(len > 0)
它将返回int_length(len);
否则会返回int_length(1);
答案 1 :(得分:3)
那是三元运营商。
相当于
if (len>0)
return int_length(len);
else
return int_length(1);
答案 2 :(得分:2)
意味着
if(len > 0)
{
return int_length(len);
}
else
{
return int_length(1);
}
答案 3 :(得分:1)
这是三元条件运算符。它是“inline if”。
基本上就是这个
int temp;
if (len > 0)
{
temp = len;
}
else
{
temp = 1;
}
int_length(temp);