设有如下定义:int x=1,y=一1;则语句:printf(“%d\n”,(X-一&++y));的输出结果是( )。

admin2014-10-20  21

问题 设有如下定义:int x=1,y=一1;则语句:printf(“%d\n”,(X-一&++y));的输出结果是(    )。

选项 A、1
B、0
C、一1
D、2

答案B

解析 表达式x一一&++y中,逻辑运算符‘&’的优先级最低,应该先计算它两边的表达式。x一一:x参与逻辑运算后,x的值再自减1,那么x一参与逻辑表达式的值为1;++y:y自增1后再参与逻辑运算,那么++y参与逻辑表达式的值为一1+1=0。x一一&++y即为1&0,值为0,答案为B。
转载请注明原文地址:https://jikaoti.com/ti/Xw9fFFFM
0

最新回复(0)