C/C++ - Two other ways to implement swapping values

  code:

#include<stdio.h>

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

void Swap2(int* a, int* b)
{
    *a = *a + *b;
    *b = *a - *b;
    *a = *a - *b;
}

intmain()
{
    int a = 5, b = 4;
    int c = 2, d = 10;

    Swap(&a, &b);
    printf("%d, %d\n", a, b);
    Swap2(&c, &d);
    printf("%d, %d\n", c, d);

    return 0;
}

  Output:

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325339879&siteId=291194637