问题:
[单选] 若有以下程序:inta=1,b=2
a=a^b;
b=b^a
则执行以上语句后a和b的值分别是( )。
A . a=1,b=2
B . a=3,b=l
C . a=3,b=2
D . a=2,b=l
参考答案:B
参考解析:
本题考查按位异或的用法。按位异或运算的规则是:两个运算数的相应二进制位相同,则结果为0,相异则结果为1。b=2的二进制为00000010,a=1的二进制为00000001,a=a^b一00000011,转化为十进制后为3,b=b^a=00000010^00000011=00000001,即1。