對兩個整數變數的值進行互換 不需要第三方變數

2021-07-07 05:54:09 字數 351 閱讀 1387

題目要求:從控制台接受兩個整型數值,要求在不使用第三方變數的情況下交換兩個變數的值。

分析:乍一看有些人認為很簡單,就想到了利用和的方式完成,即

a=a+b;

b=a-b;

a=a-b;

但是這種運算可能會出現溢位的情形,所以不可取。因此另尋他路,大家都知道計算機中最快的運算是什麼?對了是位運算,所以,通過位運算中的與運算可以實現兩個數的交換,具體實現**如下所示:

public static void main(string args)

通過三次相同的與運算可以實現兩個數值的交換,怎麼樣?是不是比以前快多了。

謝謝閱讀!

js兩個變數互換值

這個問題看似很基礎,但是有很多的實現方式,你知道的有多少呢,網上也有很多的方法,下面就來總結一下 臨時變數其實很好理解,通過乙個中間變數進行交換值 var stra a var strb b var strc 中間變數 開始 strc strb strc值是b strb stra 此時strb已經變...

面試題 互換兩個變數的值

互換兩個任意值變數的值,如 int a 1 int b 2 方案一 用變數相加減的方法 面試中使用 a a b b a b a a b 方案二 用變數相加減賦值的方法 面試中使用 b a b a b 方案三 用異或的特點實現 面試中使用 a a b b a b a b b a a a b a b a...

對兩個整數進行加 減 乘 除

include int add int a,int b int sub int a,int b int mul int a,int b int div int a,int b void result int p int a,int b 使用函式的指標p作為result函式的形參 main int i...