0
return int_length(len > 0 ? len : 1)

括号中的语法是什么意思,我在阅读这段代码时一直感到困惑。谢谢

4

4 回答 4

4

它是一个三元运算符。If len>0is true 表达式的结果是lenelse its 1

if(len > 0)它会回来int_length(len);

否则它将返回int_length(1);

于 2013-06-21T14:18:39.653 回答
3

这就是三元运算符。

相当于

if (len>0)
    return int_length(len);
else
    return int_length(1);
于 2013-06-21T14:18:51.340 回答
2

它的意思是

if(len > 0)
{
   return int_length(len);
}
else
{  
   return int_length(1);
} 
于 2013-06-21T14:19:49.637 回答
1

那就是三元条件运算符。它是一个“内联if”。

基本上是这个

int temp;
if (len > 0)
{
  temp = len;
}
else
{
  temp = 1;
}

int_length(temp);
于 2013-06-21T14:18:36.247 回答