int x=5y;y=2+x+=x++x+8++x;printfdy;的答案和解析
答案:y的值为16。
解析:
-
首先,x的初始值为5,y未定义。
-
x+=x++,先执行x++,即x的值变为6,然后执行x+=6,x的值变为11。
-
x+8,x的值为11,加上8,结果为19。
-
++x,x的值变为12。
-
这里有一个逗号表达式,逗号表达式的值是最后一个表达式的值,即++x,所以逗号表达式的值为12。
-
将2、4、5步骤的结果相加,得到2+11+12=25。
-
将25赋值给y,y的值变为25。
-
最后输出y的值,即16。
原文地址: https://www.cveoy.top/t/topic/bZGZ 著作权归作者所有。请勿转载和采集!