不额外申请变量来进行两个值的交换

#include<iostream>
using namespace std;
void swap(int a, int b) {
    
    
	//采用异或运算,不额外申请变量来进行数据的交换
	//定义的两个数的可以相等,但是两个值是不能指向同一个内存区域来进行异或交换值的
	a = a ^ b;  
	// a = a ^ b; b = b;
	b = a ^ b; 
	// a = a ^ b; b = a ^ b ^ b = a
	a = a ^ b;
	// a = a ^ b ^ b = a ^ b ^ a = b
	cout << a << " " << b;
}
int main() {
    
    
	int a = 1;
	int b = 1;
	cout << a << " " << b;
	//调用交换函数
	void swap(a,  b);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_35712788/article/details/114232397