int x=3,y=2; 则表达式(y++==--x)?y++:x++的值为多少是2还是3啊 怎么算的

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 12:07:26

int x=3,y=2; 则表达式(y++==--x)?y++:x++的值为多少是2还是3啊 怎么算的
int x=3,y=2; 则表达式(y++==--x)?y++:x++的值为多少
是2还是3啊 怎么算的

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