C语言条件表达试

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:14:57
{int z ;
z = (x>y)?x;y
return}
这个函数中 的 z = (x>y)?x;y
是什么计算的呢,我忘记了。如何判断过程的呢

? : 属于三木运算符 是判断 如果x > y 为真 则 z = x x > y 为假 则 z = y;

z = (x>y)?x;y
中间应该是冒号吧。
z = (x>y)?x:y
意思是:如果x>y,那么z=x
反之 z=y

x>y?x:y
这是C语言中唯一的一个三目运算符
中间是":"而不是";"
它的作用相当于if条件句

if(x>y)
z=x;
else
z=y;
也就是求两个数的较大者

表达式1 ? 表达式2 :表达式3

表达式1为真,则返回表达式2的值
表达式1为假,则返回表达式3的值

跟if一样的作用,C中唯一3目运算符号

表达式1 ? 表达式2 :表达式3

表达式1为真,则返回表达式2的值
表达式1为假,则返回表达式3的值

x>y为真的话,z=x
x>y不为真的话,z=y

判断 x是否大于y 正确 z=x 错误 z=y