W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
1.使用減法交換兩值
int a = 10, b = 12;
a=b-a; //a=2;b=12
b=b-a; //a=2;b=10
a=b+a; //a=10;b=10
//分析:
a = b-a//以記錄差為出發(fā)點
b = b-(b-a) = a
a = b-(b-a) + b-a = a + b-a
2.使用加法交換兩值
int a = 10, b = 12;
a=a+b=22;
b=a-b=10;
a=a-b=12;
//分析:
a = a+b//以記錄和為出發(fā)點
b = a+b-b = a;
a = a+b - a+b-b = a+b - a;
3.使用按位異或交換兩值
int a = 10, b = 12; //a=1010^b=1100;
a=a^b; //a=0110^b=1100;
b=a^b; //a=0110^b=1010;
a=a^b; //a=1100=12;b=1010;
//分析:
a = a^b//原理與記錄a、b的和或差相同
b = a^b^b = a//注意:a^b^b = a
a = a^b ^ a^b^b = b//注意:a^b = b^a
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: