欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

不借助多余参数也可交换两个参数(c++,swap函数)

程序员文章站 2022-03-08 12:20:39
借助a^a=0异或属性 【示例代码】 【运行结果】 【小栗子】 常可以做一个简单的加密工具! 1)文件A 2)卖家使用密钥加密文件A: A^X 3)买家收到加密文件A^X与密钥X 4)买家解密文件A: A^X ^X=A ......

借助a^a=0异或属性

【示例代码】

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

【运行结果】

不借助多余参数也可交换两个参数(c++,swap函数)

【小栗子】

常可以做一个简单的加密工具!

1)文件a

2)卖家使用密钥加密文件a: a^x

3)买家收到加密文件a^x与密钥x

4)买家解密文件a: a^x ^x=a