通过位异或来交换a,b的值和通过中间变量交换a,b的值

Posted 梦里梦见梦不见的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过位异或来交换a,b的值和通过中间变量交换a,b的值相关的知识,希望对你有一定的参考价值。

//通过位异或来交换a,b的值

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int a=20,b=10;
    a=a^b;
    b=b^a;
    a=a^b;
   
    printf("%d",a);
    printf("%d\n",b);

    return 0;
}

//通过c来交换

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int a=20,b=10,c;
    c=a;
    a=b;

     b=c;
    printf("%d",a);
    printf("%d\n",b);


    return 0;
}

 

以上是关于通过位异或来交换a,b的值和通过中间变量交换a,b的值的主要内容,如果未能解决你的问题,请参考以下文章

不借助第三个变量交换a,b两个变量值

最简单的交换两个数

不用临时的变量 优雅高效的交换两个数方法

不用中间的变量交换A和B的值(摘)

变量交换(4个方式)

异或交换两个变量值