ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

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

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

代码实现:

#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

返回列表