问题
单项选择题
执行下面程序的结果是______。 main() { int x=2;printf("%d\n",(x--,x<<1,x&&5)); }
A.0
B.1
C.2
D.编译时有语法错误,不能执行
答案
参考答案:B
解析:[分析]逗号表达式x--,x<<1,x&&5先执行x--,x的值为1,再执行x<<1,表达式的值为2,但x的值仍是1(不是移位赋值表达式),最后执行x&&5,二者均不为0,逻辑与的结果是1。