C語言===交換變量的三種方法

  1. 最簡單的一種寫法:
#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;
}
  1. 第二種寫法:(但加法可能會超出範圍溢出)
#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;
}
  1. 第三種寫法:(按位(二進制位)異或)(相同爲0相異爲1)
#include  <stdio.h>
int main ()
{
 int a=10,b=20;//10和20的二進制01010-a     10100-b//
printf("a=%d,b=%d",a,b);
 a=a^b; 
 //01010-a     
   10100-b
   異或結果爲11110,變成a的值   //
b=a^b;
 //11110-a
   10100-b
  異或結果爲01010,變成b的值   //
a=a^b;
//   01010-b
     11110-a//
//異或結果爲10100,變成a的值,也就是原來的b//

printf("a=%d,b=%d",a,b);
return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章