法一:
使用创建一个新的临时变量作为中转,从而使两个变量值交换
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int tmp = 0;
printf("a = %d b = %d\n", a, b);
tmp = a;
a = b;
b = tmp;
printf("a = %d b = %d\n", a, b);
return 0;
}
法二:
使用按位异或性质来进行两个变量数值的交换
相同为0,相异为1
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
//01010
//10100
//11110
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);
return 0;
}