return int_length(len > 0 ? len : 1)
括号中的语法是什么意思,我在阅读这段代码时一直感到困惑。谢谢
它是一个三元运算符。If len>0
is true 表达式的结果是len
else its 1
。
if(len > 0)
它会回来int_length(len);
否则它将返回int_length(1);
这就是三元运算符。
相当于
if (len>0)
return int_length(len);
else
return int_length(1);
它的意思是
if(len > 0)
{
return int_length(len);
}
else
{
return int_length(1);
}
那就是三元条件运算符。它是一个“内联if”。
基本上是这个
int temp;
if (len > 0)
{
temp = len;
}
else
{
temp = 1;
}
int_length(temp);