若w=1,x=2,y=3,z=4,则条件表达式w>x?w : z>y?z : x的结果为 4

若w=1,x=2,y=3,z=4,则条件表达式w>x?w : z>y?z : x的结果为___4____。

(A>B)  ? A  :B  ;     

若(A>B)为真 ,则取 A ,   如果(A>B)为假 ,则取 B。

若w=1,x=2,y=3,z=4,则条件表达式w>x?w : z>y?z : x的结果为 4

首先查看一下运算符的优先性,不懂可以查看一下下面的链接:

https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7/4752611?fr=aladdin

同一优先级的运算符,结合次序由结合方向所决定。简单记就是:

! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

 

所以原式可以转化为:    (w>x)?w : (z>y)?z : x

w=1,x=2,y=3,z=4

 0 ?w : 1 ?z : x

 

结合方向从右向左   即可以转化为:     0 ?w : (1 ?z : x)

又因为(A>B)  ? A  :B  ;

若(A>B)为真 ,则取 A ,      如果(A>B)为假 ,则取 B。

 

?w : (1 ?4 : x)

?w : 4

4