不用临时变量交换a,b的值(异或的方法)

  • Post author:
  • Post category:其他


不用临时变量交换a,b的值(异或的方法):


异或:相同为0,不同为1

代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

// 不用临时变量交换a,b的值(异或的方法)

int main()
{
	int a = 6;
	int b = 2;
	printf("before:a=%d,b=%d\n", a, b);
	// 异或:相同为0,不同为1
	a = a^b; // 建立一个临时值a = 4;
	b = a^b;
	a = a^b;
	printf("after: a=%d,b=%d\n", a, b);
	return 0;
}

图解如下:

执行结果如下:



版权声明:本文为xiaojiamide原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。