How to swap two integers using XOR (^) in C

1 Answer

0 votes
#include <stdio.h>     

void swap(int *a, int *b) 
{
    *a^=*b^=*a^=*b;
}

int main(void)
{
    int a = 7, b = 3;
    
    swap(&a, &b);
    
    printf("a = %d b = %d\n", a, b);
    
    return 0;
}

/*
run:

a = 3 b = 7

*/

 



answered May 14, 2018 by avibootz

Related questions

2 answers 345 views
2 answers 246 views
1 answer 200 views
1 answer 221 views
1 answer 202 views
1 answer 240 views
...