方案一:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
int temp;
temp = a;
a = b;
b = temp;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案二:(只适合正数)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案三:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a * b;
b = a / b;
a = a / b;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案四:(正负数皆可)(最优)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a ^ b;
b = a ^ b;
a = a ^ b; //异或时,二进制数按位异或
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
结果: