xdm,帮我看一下啦
你能算出z是2来,也是个人才
while里条件是z>0 并且 x<5
很显然z会先不满足条件,当z是0的时候循环就退出了
此时循环了4次,z循环之后是-1
但是因为&&具有短路特性,所以++x只执行了3次,y=y-1也只执行了3次(因为退出循环了)
z--,先判断z当前值是否大于0,然后减去1;++x,x先加1,再判断是否小于5
z初始为3,x为0,y为5
第一次循环,z大于0,然后z减1变为2,x加1变为1,y减去1为4
第二次循环,z大于0,然后z减1变为1,x加1变为2,y减去1为3
第三次循环,z大于0,然后z减1变为0,x加1变为3,y减去1为2
第四次循环,z为0,循环终止,z减去1变为-1。由于&&左侧表达式为假,所以右侧++x不再执行。
最终x为3,y为2,z为-1