单选题
有以下程序#includ<stdio.h>main()inx,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%",x,y,z);}程序运行后的输出结果是( )。
【正确答案】
A
【答案解析】对于表达式“z=x++,y++,++y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,后缀自增运算先进行其他运算,再执行自增运算,所以z的值为1,x的值为2,再计算逗号表达式第二个表达式y++,此时y的值为1,y++的值为2,最后计算第三个表达式++y,y的值为3。