问题
单项选择题
下述程序的输出结果是( )。 #include<stdio.h> void main() {char a=3,b=1; char c=a^b<<2; printf("%d",c); }
A.1
B.7
C.3
D.2
答案
参考答案:B
解析: 本题考查的是位运算符的应用。a和b写成二进制表示分别为a=00000011,b=00000001,由于左移位运算符“<<”的优先级高于按位异或运算符“^”,左移两位后b<<2=00000100,此结果和x按位异或后a^b<<2=00000111。