int x=3,y=2; 则表达式(y++==--x)?y++:x++的值为多少

是2还是3啊 怎么算的 贵求答案

这个表达式会先执行y++==--x,y++==--x的结果为true,执行结束后 y==3 x==2;
接着执行y++, 执行结果y==4;
所以这个表达式的值为3。
再说一下y++==--x:
++(或者--)运算写在变量左边和写在变量右边的值是不一样的,写在左边代表想运算再取值,写在右边表示先取值再运算;
所以 y++表达式的先取值,取值为2,再运算此时y的值变成了3;
--x表达式先运算,x的值变为2,再取值,取值为2
2 == 2 所以表达式y++==--x的结果为true

这个答案是正确的
a逻辑运算符b ? c:d
是个三元运算 这个表达式的意思是 ?前面的 表达式判断真假 ?后的表达式以:间隔 表示取值
当?前面的表达式为真,去冒号前c表达式的值 假就取d表达式的值

所以 应该是取y++表达式的值
?前的表达式运算完后 y=3,x=2;
所以 这个表达式取的结果是 3 然后 最终y变量的值是 4 X 变量的值是3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-02
y++=--x这一句,y是先使用后自增,x是先自减在使用,所以2==2为真,此时,y=3,x=2;
所以表达式的值应该输出y++;还是先使用,后自增,所以输出的结果是3;
最终y的值是4,x是2
希望可以帮助你,谢谢采纳。。。
第2个回答  2013-01-02
应该是3吧,但是这样的程序是不应该写的哦,有歧义哦,再说也看不懂,还是写简单点好
(y++==--x)?y++:x++
解如下
y++ y==2 --x x=2 y==x
y=3
y++
y=4
所以Y=4,X=2
第3个回答  2013-01-02
3,y++实现运算为2,--x为先自减结果为2,则2=2正确选y++,前面y++已参加运算变成了3,所以答案应该是3
第4个回答  2013-01-02
答案是3.解答如下:
x=3,y=2;
y++式子的值取2,因为y++先取值用而后值再加1,之后y的值为3;
--x 先减一再取值用,此时--x式子的值为2;
所以y++==--x为真,整个选择表达式的值为y++,先取值3,所以整个选择表达式的值为3,而后y再加一。此时y的值为4,因为y++先取y的值再加一。最后的一个x++没有执行,所以x的值还是2.
欢迎批评指正。