不引入第三個變量交換兩個變量的值

據我所知有兩種辦法:

1、算術運算:

        int a = 10; 
        int b = 12; 
        a = a+b; // a = 10+12 = 22
        b = a-b; //b = 22-12 = 10
        a = a - b; // a = 22-10 = 12 交換成功

2、位運算:

        int a = 10; 1010
        int b = 12; 1100
        a = a^b;    0110
        b = a^b;    1010  // b = 10
        a = a^b;    1100  // a = 12   交換完成

還有一種應該可以是交換地址,如果還有別的方法歡迎大家留言補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章