>>9
だったらtmpいらなくね?

void func(int *a, int *b){
*b ^= *a;
*a ^= *b;
*b ^= *a;
}