#include <stdio.h> //不使用临时变量,交换a,b的值 //思路1:先写逻辑,我先将a=a+b,b=a-b,a=a-b;(加减法:缺陷:当a+b的值大于字节数值,就会溢出) //思路2:先写逻辑,用异或的方法求值 // a -> b -> a // 3-> 011 8-> 110 8-> 110 // 5-> 101 3-> 011 5-> 101 // ________ _______ _______ //异或 // 8<- 110 5<- 101 3<- 011 int main() { int a = 3; int b = 5; printf("%d %d\n",a,b); //加减法:有缺陷,可能会溢出 // a = a + b; // b = a - b; // a = a - b; // printf("%d %d",a,b); //异或法 a = a ^ b; b = a ^ b; a = a ^ b; printf("%d %d\n",a,b); }