回覆列表
-
1 # 蘇老師聊技術
-
2 # 黯殤26994223
if a==6&&b==8
a==8;
b==6;
end[狗頭]
-
3 # 明明113534521
利用數軸上ab距離不變特性,先做減法,可以避免溢位
a=a-b;//此時a是ab距離
b=b-a;//b交換到原來位置a
a=b+a;//a由ab距離,交換到原來
位置
-
4 # 夕陽雨晴
/** * 實現a=6,b=8時,a和b的值互換 */public class ExchangeNum { public static void main(String[] args) { int a = 6, b = 8; a = exchange(b, b = a); System.out.println("a=" + a + ", b=" + b); } public static int exchange(int a, int b) { return a; }}
-
5 # 數碼羊
利用中間變數進行值交換
設定T為中間變數
T=a
a=b
b=T
-
6 # 幽兔CC
if(a == 6 && b == 8){
a = 8;
b = 6;
}
-
7 # 樹洞挖坑機
a=a^b;
b=a^b;
a=a^b;
好像也有其他方法,不過我印象中也只剩這一種了,不明白為什麼面試很熱衷這個題目,有種孔乙己的茴字有幾種寫法一樣,像程式設計開發類感覺自己動手敲程式碼收穫更多,有時候憑空想象一些程式的執行結果花費了時間還是不懂為什麼會如此,從專案中學習最好了。
不明白我為什麼要如此一本正經的回答這個問題,Java,c++,Python我都有學,不過每種都是半吊子水平,超級羨慕那種電影裡駭客大佬,噼裡啪啦敲幾下程式碼就破解密文。
為啥有這要求?
想不通還有面試的時候 設定很多條件後讓你實現一個功能。不能自由發揮麼?保證效能的同時達到目的不就行了?