- 最简单的一种写法:
#include <stdio.h>
int main ()
{
int a=10,b=20;
printf("a=%d,b=%d",a,b);
int c;
c=a;
a=b;
b=c;
printf("a=%d,b=%d",a,b);
return 0;
}
- 第二种写法:(但加法可能会超出范围溢出)
#include <stdio.h>
int main ()
{
int a=10,b=20;
printf("a=%d,b=%d",a,b);
a=a+ b;
b=a - b;
a=a- b;
printf("a=%d,b=%d",a,b);
return 0;
}
- 第三种写法:(按位(二进制位)异或)(相同为0相异为1)
#include <stdio.h>
int main ()
{
int a=10,b=20;
为 01010-a 10100-b
printf("a=%d,b=%d",a,b);
a=a^b;
10100-b
异或结果为11110,变成a的值
b=a^b;
10100-b
异或结果为01010,变成b的值
a=a^b;
11110-a
printf("a=%d,b=%d",a,b);
return 0;
}