C语言-不使用第三变量交换a、b

第一种方法,最老套通俗易懂的方法

#include <stdio.h>
int main(){     
    int a=1,b=2;     
    a=a+b;     
    b=a-b;     
    a=a-b;     
    printf("a=%d,b=%d./n",a,b);
    return 0;
}

第二种方法,进阶方法想想算法的思路吧

#include <stdio.h>
int main(){
    int a =1;
    int b =2;
    a = b+a - ( b=a );
    printf("%d,%d", a, b);
    return 0;
}

第三种方法,要用到异或

#include <stdio.h>
int main(){
    int a =1;
    int b =2;
    a=a^b;   
    b=a^b;   
    a=a^b;   
    printf("a=%d,b=%d",a,b);
    return 0;
}