C语言不创建中间变量交换2个数

使用异或实现;

‌C语言中的异或运算‌符合以下规律,

‌ 交换律‌:即a ^ b = b ^ a。

‌ 结合律‌:(a ^ b) ^ c = a ^ (b ^ c)。

‌ 自反性‌:对于任意操作数a,有a ^ a = 0。

‌ 零元素‌:对于任意操作数a,有a ^ 0 = a。

‌ 唯一性‌:对于任意操作数a,有a ^ a = 0和a ^ 0 = a。

可利用实现不创建中间变量交换2个数;

cpp 复制代码
void CYhswpView::OnDraw(CDC* pDC)
{
	CYhswpDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;

	int a = 99, b = 33;
	str1.Format("a=%d,  b=%d", a, b);
	pDC->TextOut(30, 30, str1);

	a = a ^ b;
	b = b ^ a;//b=b^ a^b=a
	a = a ^ b;//a=a^ a^b=b

	str1.Format("a=%d,  b=%d", a, b);
	pDC->TextOut(30, 90, str1);

}
相关推荐
专注仿真9 分钟前
Spring AI 实现智能对话系统项目指南
数据结构·spring·机器学习
间歇性努力持续性发呆的野生快乐选手1 小时前
高级数据结构:树状数组
数据结构
每周报刊6 小时前
竞速座舱级视界:爱攻 AGP497UCZD 超宽 QDOLED 显示器解析
数据结构·游戏·计算机外设
小星星闪亮登场8 小时前
图论--最小生成树(内含二分图)
数据结构·算法·图论·迭代加深·图搜索算法
2601_962201729 小时前
Java进阶,集合,Colllection,常见数据结构
java·数据结构·windows
挽星安9 小时前
2026/8/29
数据结构·算法
positive_zpc9 小时前
进阶数据结构图——最短路径(二)
数据结构·算法·图论·最短路径
positive_zpc10 小时前
进阶数据结构图——最小生成树(一)
数据结构·算法·图论
码完就睡10 小时前
数据结构——遍历二叉树
数据结构·算法
老王爱玩车11 小时前
关于函数递归的优缺点分析
开发语言·数据结构·学习·算法