我遇到了一种不同的方式来回归价值并且兴奋不已。 它究竟意味着什么?
如果我不得不猜测,我会说它意味着...... 如果z < 0,然后添加z和y,否则返回z?
int ffunction(int x, int y)
{
int z = x % y;
return z < 0 ? z + y : z;
}
答案 0 :(得分:4)
您正在使用ternary operator并返回结果。它基本上是一行中的if语句。它说:
if(z < 0)
{
return z + y;
}
else
{
return z;
}
答案 1 :(得分:3)
?:
是一个三元运算符(一个有三个操作数的运算符),称为条件运算符。根据第一个(z + y
)是真还是假,执行第二个(z
)或第三个操作数(z < 0
)。因此,
return z < 0 ? z + y : z;
相当于
if (z < 0) {
return z + y;
} else {
return z;
}
答案 2 :(得分:2)
问题中的代码与:
相同int ffunction(int x, int y)
{
int z = x % y;
if(z < 0){
return (z + y);
}
else{
return z;
}
}
在您的问题中,使用了三元运算符,这是一种紧凑的if
语句。
答案 3 :(得分:2)
这是契约if
的一种形式。基本上,它是这样说的:
if ( z < 0 )
return z + y;
else
return z;
答案 4 :(得分:1)
这意味着如果z
低于零(也称为negetive),则返回z + y,如果不是这种情况(z
为零或正数),则返回z本身。
相当于:
if ( z<0)
return z+y;
else
return z;
答案 5 :(得分:0)
条件运算符。如果z小于0,则函数返回z + y,否则返回z。