what *p1 ^= *p2; does in c
问题 In C what does this statement do? *p1 ^= *p2; p1 and p2 are char pointers pointing to two different address of a char array. I know about ^ operator is XOR. 回答1: It should probably be easier to understand if you see it this way instead: char c1 = *p1; char c2 = *p2; c1 = c1 ^ c2; *p1 = c1; That's basically what the code you show is doing. This of course relies on you knowing how exclusive or actually works, and know about pointer dereferencing too. 回答2: This *p1 ^= *p2; is the compound