c/c++ 通过异或运算实现两个数的交换

void test07() {
	int num1 = 2;
	int num2 = 3;

	printf("交换前:");
	printf("num1= %d,num2 = %d\n", num1, num2);
	num1 = num1 ^ num2;
	num2 = num1 ^ num2;
	num1 = num1 ^ num2;
	printf("交换后:");
	printf("num1= %d,num2 = %d\n",num1,num2);
	/*
	* 0010
	  0011
 异或:
 num1:  0001
 和num2再做异或:
 num2:  0010
 再和num1做异或:
 num1:  0011
 交还成功
	*/
}

你可能感兴趣的:(C/C++)