C语言--交换两个变量值,不使用其他变量

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int a = 3, b = 4;
    printf("a = %d, b = %d
", a, b);
    
    /* 1.加减法
    a = b - a;
    b = b - a; // b - (b - a) = a
    a = b + a; // a + b - a = b
    printf("a = %d, b = %d
", a, b);*/
    
    // 2.按位异或
    a = a^b;
    b = a^b; // a ^ b ^ b = a
    a = a^b; // a ^ b ^ a = a ^ a ^ b = b
    printf("a = %d, b = %d
", a, b);
    
    return 0;
}

 

效果图:

原文地址:https://www.cnblogs.com/521it/p/5069120.html