若有以下程序: int a=,b=2; a=a^b; b=b^a; 则执行以上语句后a和b的值分别是( )。

admin2012-12-03  38

问题 若有以下程序:
    int a=,b=2;
    a=a^b;
    b=b^a;
    则执行以上语句后a和b的值分别是(    )。

选项 A、a=1,b=2
B、a=3,b=1
C、a=3,b=2
D、a=2,b=1

答案B

解析 本题考查按位异或的用法。按位异或运算的规则是:两个运算数的相应二进制位相同,则结果为0,相异则结果为1。b=2的二进制为00000010,a=1的二进制为00000001,a=a^b=00000011,转化为十进制后为3,b=b^a=00000010^00000011=00000001,即1。
转载请注明原文地址:https://kaotiyun.com/show/I0Pp777K
0

最新回复(0)