A-A+
有以下程序: main() { unsigned char a b c; a=0x3;b=a
问题详情
有以下程序: main() { unsigned char a,b,c; a=0x3;b=a│0x8;c=b<<1; printf("%d%dn",b,C) ; } 程序运行后的输出结果是()。
A.-11 12
B.-19
C.12 24
D.11 22请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:将a的值转换为二进制位:00000011,再与0x8的二进制“00001000”位与,得到结果“00001011”赋值给b,b的值为11,再将b左移一位得到;00010110,赋值给c,c的值为22,所以最后输出的b,c的值位11,22。所以4个选项中D正确。