有以下C语言程序: #inelude void main() {int x,y,z; x=y=1; z=x++,y++,++y; printf(’’%d,%d,%d\n,x,y,z); } 程序运行后的输出结果是( )。

admin2017-11-24  26

问题 有以下C语言程序:
#inelude
void main()
{int x,y,z;
x=y=1;
z=x++,y++,++y;
printf(’’%d,%d,%d\n,x,y,z);
}
程序运行后的输出结果是(  )。

选项 A、2,3,3
B、2,3,2
C、2,2,1
D、2,3,1

答案D

解析 本题主要考察++运算符和逗号运算符的执行顺序。表达式z=x++,y++,++y的计算过程是,首先计算x++,得到1,x加1后变成2(先使用后自加);再计算y++,得到1后变成2;最后计算++y,y先加1变成3,得到3(先自加再使用)。因为赋值运算级别高于逗号运算,所以整个表达式是x++的值,即将1赋给z。程序运行后x,y,z的值将是2,3,1。
转载请注明原文地址:https://kaotiyun.com/show/wSID777K
0

相关试题推荐
最新回复(0)