- 最簡單的一種寫法:
#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;
}