分析如下:
a=0,a%2余0,运行'A'+0输出'A';
a=1,a%2余1,运行'1'+1输出'2'
a=2,a%2余0,运行'A'+2输出'C'
a=3,a%2余1,运行'1'+3输出'4'
a=4,a%2余0,运行'A'+4输出'E'
a=5,a%2余1,运行'1'+5输出'6'。
运行结果是3 2 -1
&&运算符的判断逻辑是如果前面的为真,那么需要判断后面的,同为真,才返回真。
如果前面的为假,那么后面的运算不需要执行,直接返回假。
++i 的运算逻辑是先执行i=i+1的操作,然后对i之后的值进行判断
i++的运算逻辑是先进行值i的判断,然后执行值的增加i=i+1。
因此,运行的逻辑是这样的:
z=3开始进行判断是否大于0,如果是进行自减变为2,然后判断x+1后的值是否小于5,如果是的话,那么y进行自减1。
因此第一遍循环之后的值z , x , y 分别是
2,1,4
第二遍循环之后的值z,x,y分别是
1,2,3
第三遍循环之后的值z,x,y分别是
0,3,2
第四遍循环的时候,z--小于0为假,不进行++x的运算,因此z,x,y的值为
-1, 3, 2