第一种方法:数学运算,这种方法有溢出的风险
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 1;
int b = 2;
printf("交换前:a=%d,b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("交换后:a=%d,b=%d\n", a, b);
system("pause");
return 0;
}
第二种方法:按位异或运算
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 1;
int b = 2;
printf("交换前:a=%d,b=%d\n", a, b);
a = a^b;
b = a^b;
a = a^b;
printf("交换后:a=%d,b=%d\n", a, b);
system("pause");
return 0;
}