ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

交换两个变量(不创建临时变量)

2026/8/13 2:07:30 拓冰建站 浏览量
交换两个变量(不创建临时变量)

不允许创建临时变量,交换两个整数的内容

代码实现:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int a = 3;int b = 4;a = a ^ b;b = a ^ b;a = a ^ b;printf("%d %d", a, b);return 0;
}

解析:

^为异或运算符是将两个数的二进制进行比较相同取0不同取1,所以一个数与自己异或结果为1

故先将    a = a ^ b;再    b = a ^ b即为b=a^b^b所以b就已经等于了a再用同样的方法将a的值变为b