^是位异或运算符,按二进制位每个对应为做异或arr[3] ^= arr[2]; 相当于arr[3] = arr[3] ^ arr[2];本例中arr[3]=5 =(101)B 二进制arr[2]=4=(100)B1^1=0 0^0=0 1^0=1 (101)^(100)=001 结果是arr[3]变为1
很好理解比如: 1^0=0; 0^0=1;也就是说对同一个字符进行两次异或运算就会回到原来的值。
1^0=1;0^0=0;