经过以下语句定义后,表达式z+=x>y?++x:++y的值是( )intx=1,y=2,z=3;

有没朋友帮我解答下?~~~~(>_<)~~~~
2025-02-19 06:35:19
推荐回答(4个)
回答1:

结果是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

回答2:

给你改编一下应该好理解int nTemp;if (x>y) nTemp = ++x;(先加1再赋值)else nTemp = ++y; z = z + nTemp;

回答3:

写的不是很清楚看起来应该是三目运算 前面是z+=x>y? 后面是++x:++y;如果z+x>y 则取++x;否则取后者 取后者 加1后 x=2;

回答4:

z的值是6,你要的是结果?