问题 单项选择题

以下程序运行后的输出结果是
#include <stdio.h>
main( )
char a=4:
printf("%d\n",a=a<<1);

A.40

B.16

C.8

D.4

答案

参考答案:C

解析: a<<1,首先将a转换成二进制,把a(值为4)的各个二进制位向左移动一位,高位丢弃,低位补0。a=00000100(十进制数4),左移一位后为00001000(十进制数8)。

单项选择题
填空题