如下: int swapValue(int * p1, int * p2) { *p2=(*p1^*p2)^(*p1=*p2); } 看似不需要中间变量,实际上第一个括号的运算结果肯定需要一个地方保存的。因此 没太大意义。