问题
单项选择题
以下程序:
main()
unsigned char a=2,b=4,c=5,d;
d=a|b;d&=c;printf("%d\n",d);
程序运行后的输出结果是
A) 3
B) 4
C) 5
D) 6
答案
参考答案:B
解析: 本题考查的是逻辑运算。本题中主要是进行位的逻辑运算。将a的值转换成二进制为:0000 0010,b的值转换成二进制为:0000 0100,将a、b进行按位或运算(参加计算的两个位只要有一个为1,那么运算结果为1),因此此时d的二进制为:0000 0110,c的值转换成二进制为:00000101,接下来将d和c进行按位与运算(参加计算的两个位都为1,则结果为1,否则为0),结果为:0000 0100,转换成十进制数结果为4。