int x=5; int y=2+(x+=x++,x+8,++x); printf("%d",y); 求程序的结果并解释.
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 18:32:05
![int x=5; int y=2+(x+=x++,x+8,++x); printf(](/uploads/image/z/3690500-68-0.jpg?t=int+x%3D5%3B+int+y%3D2%2B%28x%2B%3Dx%2B%2B%2Cx%2B8%2C%2B%2Bx%29%3B+printf%28%22%25d%22%2Cy%29%3B+%E6%B1%82%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%BB%93%E6%9E%9C%E5%B9%B6%E8%A7%A3%E9%87%8A.)
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