问题 单项选择题

有以下程序: main() { unsigned char a,b,c; a=0x3;b=a│0x8;c=b<<1; printf("%d%d\n",b,C) ; } 程序运行后的输出结果是( )。

A.-11 12

B.-6 -13

C.12 24

D.11 22

答案

参考答案:D

解析:将a的值转换为二进制位:0000 0011,再与0x8的二进制“0000 1000”位与,得到结果“0000 1011”赋值给b,b的值为11,再将b左移一位得到;0001 0110,赋值给c,c的值为22,所以最后输出的b,c的值位11,22。所以4个选项中D正确。

单项选择题
单项选择题