int a,b; a=a+b; b=a-b; a=a-b; 这是第一种方法,但是如果a+b的值大于int的最大值,则发生溢出。 int a,b; a=a^b;//用b加密过的a,a加密过的b b=a^b;//用b解密被a加密过得a,b此时为a原值 a=a^b;//用a解密被b加密过得b,a此时为b原值 这种方法是典型方法 可以理解为a、b互相加密,然后再互相翻译。