異或交換兩個數的值

大囚長發表於2018-05-03

異或交換兩個數的值是資源開銷最小的方法,不需要中介數,原理簡單的來說就是異或的負負得正。

程式碼:

#include <stdio.h>

int main()
{
    int a = 11, b = 22;
    printf("a=%d b=%d\n", a, b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("a=%d b=%d\n", a, b);
}

編譯:

gcc test.c -o test

執行:

a=11 b=22
a=22 b=11

相關文章