希望大家解答一下,纠结了半天

大佬们,这个题有个纠结的地方,就是y最后的值,为什么是10,上面那个y++之后y的值加没加1,求大佬解答一下

img


int x=10,y=9;
int a,b,c;
// 先运算 --x,得 x=9,x==y 成立,y++,得 y=10
// 因为 x==y 成立,所以先运行 --x,得x=8,所以 a=8
a=(--x==y++)?--x:++y;
// b=xb=8,x自加得 x=9
b=x++;
// c=10
c=y;

在参与比较的时候y是按照9计算的,在语句结束后y自增到10,所以最后是8,8,10
有帮助望采纳~