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 372 views
1 answer 366 views
2 answers 477 views
1 answer 323 views
1 answer 292 views
1 answer 339 views
...