int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 结果是多少,为什么?请大侠们解释清楚点,谢谢!

2025-12-17 22:01:32
推荐回答(3个)
回答1:

int x=5;
int y=2+(x+=x++,x+8,++x); //这里括里面要取的值是最后一个逗号后面的值
//前面依次执行 x+=x++,这个是先用了x再x++ x+=x相当于 x=x+x =5+5=10 再x++ x=11,然后是x+8,x不变,最后是++x,x=12,所以y=12+2=14
printf("%d",y); //输出14

回答2:

结果为14
y的值为括号内最左边的式子的值加上2; 括号内的计算顺序是从右向左。

回答3:

14.。。。。跑出来的~