時(shí)間:2018-07-17 作者:魏文應(yīng)
一、需求說(shuō)明
我們經(jīng)常會(huì)把兩個(gè)變量的值進(jìn)行互換,比如:
a = 12;
b = 5;
我們希望對(duì)a 和 b 的值進(jìn)行互換,變成:
a = 5;
b = 12;
二、兩個(gè)變量值互換方法
方法一:使用臨時(shí)變量
這種方法很直觀,但需要開(kāi)辟一個(gè)臨時(shí)變量 temp :
int m = 12;
int n = 5;
int temp = 0;
temp = m;
m = n;
n = temp;
方法二:使用加減法
該方法不用開(kāi)辟一個(gè)臨時(shí)變量,但數(shù)據(jù)比較大時(shí),數(shù)據(jù)加減可能溢出。
int m = 12;
int n = 5;
m = m + n;
n = m - n;
m = m - n;
方法三:使用邏輯運(yùn)算
該方法既不用開(kāi)辟一個(gè)臨時(shí)變量,也不用精度損失:
int m = 12;
int n = 5;
m = m ^ n;
n = m ^ n; // (m ^ n) ^ n == 原來(lái) m 的值
m = m ^ n; // (m ^ n) ^ m == 原來(lái) n 的值