如果你会二进制运算的话就明白了:
a = 101 b= 1010
那么b = a ^ b ;
根据^的运算规则,相同则结果为0,不同则结果为1
此时b = 1111
a = b ^ a //这步并不影响b的值。
所以b的十进制为15
执行
b=a^b
的时候改变了b的值啊
a = 00000101
b = 00001010
b = 00001111
00000101
a = 00001010
^异或的意思是 相同位不同则为1,相同则为0。
所以最后的结果b = 00001111 = 15,a=10