互換兩個變數,不使用中間變數

2021-06-23 09:04:41 字數 711 閱讀 4673

第一種方法:

a=a+b;

b=a-b;

a=a-b;

**如下:

[cpp]view plain

copy

#include "stdio.h"

int main(

void)    

缺點:可能越界

第二種方法:

解決方法:(a、b異或的結果 ,和a異或得b ,和b異或得a)

a=a^b;

b=a^b;

a=a^b;

**如下:

[cpp]view plain

copy

#include "stdio.h"

int main(

void)

寫成巨集替換的方法如下:

[cpp]view plain

copy

#include "stdio.h"

#define swap(a,b) (a)^=(b)^=(a)^=(b)

int main(

void)  

不使用中間變數實現兩個變數的交換

在實現程式功能時,我們經常要進行變數數值的交換,最近學習到在c語言中不用定義新變數來實現兩個變數數值的交換的方法,跟大家分享一下!下面是演算法的實現 include int main 程式可能有點難理解。在順序結構程式中,程式一條一條的依次執行。為了避免值和變數名的混淆,假定使用者輸入的是a0和b0...

不使用中間變數交換兩個數

在交換兩個數的值時,最經常使用的方法是借助於乙個中間變數來進行交換。temp a a b b temp 通過巧妙的加法與減法運算來實現兩個數的交換。a a b b a b a a b 使用位運算 異或 來交換兩個數。a a b b a b a a b 其正確性是因為異或運算滿足 交換律和 結合律。證...

不使用中間變數交換兩個數

在交換兩個數的值時,最經常使用的方法是借助於乙個中間變數來進行交換。temp a a b b temp 通過巧妙的加法與減法運算來實現兩個數的交換。a a b b a b a a b 使用位運算 異或 來交換兩個數。a a b b a b a a b 其正確性是因為異或運算滿足 交換律和 結合律。證...