问题
单项选择题
有以下程序:
main()
int x=3,y=2,z=1;
printf("%d\n",x/y&~z);
程序运行后的输出结果是( )。
A.3
B.2
C.1
D.0
答案
参考答案:D
解析: 在表达式x/y&~z中,&前面表达式的值为1(3/2=1)表示二进制为00000001,而按位取反运算符~的优先级高于按位与运算符&,先计算&后面的取反运算符~。z的二进制表示为00000001,取反后为11111110,最后进行&,即“00000001&11111110”结果为00000000,故最后的值为0,所以,4个选项中选项D符合题意。