万能百科  > 所属分类  > 

下面C程序中,若在屏幕上输入数值331后回车,程序执行后,屏幕上显示的输出结果应为(63)。main(void)

下面C程序中,若在屏幕上输入数值331后回车,程序执行后,屏幕上显示的输出结果应为(63)。 main(void) { unsigned int a,b,c,d; Scanf("%o",&a); b = a>>4; c = ~ (~ 0 << 4); d = b & c; printf("d=%o\n",d); }

A.d=10

B.d=15

C.d=25

D.d=45

正确答案:

B解析:在屏幕上输入数值331后回车,a的值为八进制的331,其二进制表示为11011001。右移4位后为1101。故执行语句b=a>>4;得b的二进制表示为1101。 现在由语句c=~(~04):计算c的值:0:0000000000000000~0:1111111111111111 ~04:1111111111110000 ~(~04):0000000000001111 故c的值为1111。 由d=b&c;得到d为1101,即八进制的15。故本题答案为B。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签