How to use bitwise XOR operation to implement swap function in C

1 Answer

0 votes
#include <stdio.h>

void swap(long *x, long *y) {
    *y = *x ^ *y;
    *x = *x ^ *y;
    *y = *x ^ *y;
}

int main() {
    long x = 2;
    long y = 8;

    printf("x=%ld, y=%ld\n", x, y);
    swap(&x, &y);
    printf("x=%ld, y=%ld\n", x, y);

    return 0;
}





/*
run:

x=2, y=8
x=8, y=2

*/

 



answered May 5, 2021 by avibootz

Related questions

2 answers 256 views
1 answer 293 views
2 answers 364 views
1 answer 232 views
1 answer 210 views
1 answer 250 views
...