使用按位异或运算符进行两数交换

来源:互联网 发布:cf36 1网络异常 编辑:程序博客网 时间:2024/06/01 15:22

^: 按位异或运算符

解释:两数(二进制)相异时,结果为1;相同时,结果为0;

常用规律:a^b^b = a 


code

#include<stdio.h> 

void swap(int &a,int&b)
{
//使用按位异或运算符可以不用新建一个临时变量来存储 
a = a^b;
b = a^b;
a = a^b;
}


int main(){
int a = 1,b= 2;

swap(a,b); 
printf("%d,%d",a,b);
}

原创粉丝点击