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

括弧内の構文の意味は何ですか。このコードを読むと、私は混乱し続けます。ありがとう

4

4 に答える 4

4

三項演算子です。If len>0is true 式の結果はlenelse its1です。

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 に答える