这个语法的含义是什么,与c ++有关

时间:2013-06-21 14:17:09

标签: c++ conditional-operator

return int_length(len > 0 ? len : 1)

括号中语法的含义是什么,我在阅读此代码时一直感到困惑。 感谢

4 个答案:

答案 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);