下述程序的输出结果是( )。 #include<stdio.h> void main() { char a=1,b=2; char c=a^b<<2; printf("\n%d",c);)

admin2013-08-15  15

问题 下述程序的输出结果是(    )。
    #include<stdio.h>
    void main()
    { char a=1,b=2;
    char c=a^b<<2;
    printf("\n%d",c);)

选项 A、9
B、10
C、12
D、2

答案A

解析 本题主要考查位运算符的优先级。由于左移运算符”<<”的优先级较逻辑异或运算符“^”的优先级高,所以c=a^b<<2=a^(b<<2)。由于a=1,b=2,其二进制形式分别为0000 0001和0000 0010。代入c=a^b<<2中得c=0000 0001^(oooo 0010<<2)=0000 0001<0000 1000=0000 1001,即为9。答案为A)。
转载请注明原文地址:https://kaotiyun.com/show/7gJp777K
0

最新回复(0)