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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 03:38:23
int x=5; int y=2+(x+=x++,x+8,++x); printf(

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