x> y? x: y;的意思是什么?

如题所述

x>y?x:y;为条件表达式,先判断x>y,若x>y为真,则求x,若x>y为假,则求y。

条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句,条件表达式内可以嵌套。

条件表达式其一般形式如下:

x=<表达式1>?<表达式2>:<表达式3>

其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。

扩展资料:

条件表达式有3个表达式,它是C++中唯一的一个三目运算。如果 ? 和 : 同时出现,则称为三目运算符。条件表达式运行时,首先计算表达式1的值。如果表达式的值为真或非零,则计算表达式2的值。如果表达式的值为假或0,则计算表达式3的值。

若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。

注意:如果最后一个表达式是逗号表达式,注意逗号表达式的优先级比条件表达式的优先级低,实际运用中应该避免这种情况以免出错。

参考资料:百度百科-条件表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-06-24
首先,两个操作都是自增操作,都只能对变量进行该操作,但是两种自增有些许区别++x先将x的值自增1,然后再在当前表达式中使用x的值。x++先在当前表达式中使用x的值,然后再将x的值自增1。举例:(1)intx=1;System.out.println(x++);//输出1,x++先在当前表达式中使用x的值,然后再将x的值自增1,System.out.println(x);//输出2,经过上一条指令x自增了1(2)intx=1;System.out.println(++x);//输出2,++x先将x的值自增1,然后再在当前表达式中使用x的值,System.out.println(x);//输出2,经过上一条指令x自增了1。x++实际上分为三个步骤取值,计算,赋值例如x=1,x++,实际上JVM定义了一个缓存值yy=x;取值(只运算一次)y=y+1;计算x=y;赋值而++x,步骤不一样,y=x;[sport.hi-pro.com.cn/article/412679.html]
[sport.lilymoda.cn/article/048296.html]
[sport.coohoo.cn/article/971086.html]
[sport.onetn.cn/article/246135.html]
[sport.fwxq.com.cn/article/167285.html]
[sport.whxbtz.cn/article/380621.html]
[sport.081s.cn/article/127863.html]
[sport.r-shgmh.cn/article/348209.html]
[sport.diyitm.cn/article/230746.html]
[sport.coohoo.cn/article/714392.html]
相似回答