int x=1,y=2,z=3; x+=y+=z; 的表达式结果是什么?怎么分步计算?(z>=y==z)?1:

1个回答

  • 第一个问题

    结果为6

    x+=y+=z;可以理解为两个表达式,另外+=是从右向左结合,所以先算最右边的

    首先,是表达式y+=z,计算后y=5,z=3,表达式y+=z的值为5

    最后,是表达式x+=(y+=z);因为y+=z;这个表达式已经为5了,所以x+=y+=z;可以等价为x+=5,所以最后的结果就6

    这个问题主要是需要理解表达式的概念,你可以上网搜一下

    第二个问题

    (z>=y==z)中>=的优先级高于==,并且是左到右结合,所以表达式可以等价于

    ((z>=y)==z)

    首先比较出z>=y的真伪,其结果再与z进行比较是否相等