结果是6
z+=x>y?++x:++y的意思是
z=z+x>y?++x;++y
因为x>y为假, 所以x>y?++x;++y这个运算出来是++y, 那么式子就成了
z=z+++y 而++运算符是先自增然后才执行下一条语句, 那么y就先办成3,然后才会和z相加的
这样就计算出来了z=3+3
给你改编一下应该好理解int nTemp;if (x>y) nTemp = ++x;(先加1再赋值)else nTemp = ++y; z = z + nTemp;
写的不是很清楚看起来应该是三目运算 前面是z+=x>y? 后面是++x:++y;如果z+x>y 则取++x;否则取后者 取后者 加1后 x=2;
z的值是6,你要的是结果?