方法一:
利用一个临时变量进行交换
int main()
{
int a, b, temp;
scanf_s("%d %d", &a, &b);
printf("a = %d ,b = %d\n", a, b);
temp = a;
a = b;
b = temp;
printf("a = %d ,b = %d", a, b);
}
方法二:
利用加法原则
int main()
{
int a, b;
scanf_s("%d %d",&a,&b);
printf("a = %d ,b = %d\n", a, b);//a = 10;b = 20
a = a + b; //a = 30;b =20
b = a - b; //b = 30 - 20 = 10
a = a - b; //a = 30 -10
printf("a = %d ,b = %d", a, b);
}
方法三:
利用按位异或(^)相同为0,不同为1。
令a = 3(011);b = 4(100)
则:
a = a^b(111)
b = a^b(011) = 3
a = a^b(100) = 4
int main()
{
int a, b;
scanf_s("%d %d", &a, &b);
printf("a = %d ,b = %d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d ,b = %d", a, b);
}