int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 求程序的结果并解释.

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 00:30:21
int x=5; int y=2+(x+=x++,x+8,++x); printf(
xJA_ec$Y1 w)"Fb[BPBYP 5ve-7y^>,jCP LtA5,tj4ș_5x|,%r;iXEkub t%&" !?BH|e&|h

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 求程序的结果并解释.
int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 求程序的结果并解释.

int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 求程序的结果并解释.
这个题目与逗号表达式以及++运算有关系.
首先x+=x++,x+8,++x这个表达式可以变成x+=x++,++x
然后从右往左来:++x得到x=6;
继续x+=x++ 得到x+=6从而x=12
从而x+=x++,x+8,++x表达式的值为12
y=2+(x+=x++,x+8,++x)=14;
所以输出结果是14