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

admin2009-01-15  35

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

选项 A、-11 12
B、-19
C、12 24
D、11 22

答案8

解析 本题考查的知识点是位的逻辑运算和位的移位运算。将a的值转换为二进制位:0000 0011,再与0×8的;进制“0000 1000”位与,得到结果“0000 1011”赋值给b,b的值为 11,再将b左移一位得到:0001 0110,赋值给c,c的值为22,所以最后输出的b,c的值位11,22。所以4个选项中D正确。
转载请注明原文地址:https://kaotiyun.com/show/HnXp777K
0

最新回复(0)