A-A+

有以下程序: main() { unsigned char a b c; a=0x3;b=a

2022-08-05 23:03:14 问答库 阅读 173 次

问题详情

有以下程序: 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正确。

考点:程序