问题 单项选择题

设有定义:int x=3;,以下表达式中,值不为12的是

A) x*=x+1
B) x++,3*x
C) x*=(1+x)
D) 2*x,x+=6

答案

参考答案:D

解析: 本题考查逗号运算符的运算方式,逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向为“自左至右”。选项A)和选项C)的结果是一样的,可展开为:x=x*(x+1)=3*4=12;选项B)中先执行x++,因为++运算符有自加功能,逗号之前执行后x的值为4,逗号后的值就是整个表达式的值,即12;选项D)逗号之前并未给x赋值,所以表达式的值就是x+=6的值,即9。因此,本题答案为D)。

选择题
多项选择题