问题 单项选择题

下列程序的运行结果是( )。
int y=5,x=14;
y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d”,x,y);

A.x=27,y=27
B.x=12,y=13
C.x=15,y=14
D.x=y-27

答案

参考答案:C

解析: 逗号表达式的解题思路是从左到右,依次求解,整个逗号表达式的值就是最后一个表达式的值。
表达式(x=3*y,x+1)中,依次是x=3*y=3*5=15,表达式x+1=16,但没有给x或y赋值,所以x还是等于15;第3个表达式x-1=15-1=14,所以y的值为14。

解答题
填空题