1. 程式人生 > >兩個數交換的三種方法

兩個數交換的三種方法

比如 a=3;b=8;

用三種方法來交換兩個數的值?

第一種      定義一個臨時比變數儲存 :

                   int temp = a;

                a = b;

              b = temp;

第二種    用他們的和互減:

                 a =  a + b;   //  a =11;

                b =  a -  b;   //  b = 11 - 8

                a =  a - b ;   //  a = 11 - b  

第三種    用異或 ,原理:異或同一個值兩次,本身不變         

                a = a ^ b ;
                b = a ^ b ;  // (a ^ b) ^ b = a;
                a = a ^ b;  //  (a ^ b) ^ a = b;