void swap(int *x, int *y) {
if (x != y) {
*y = *x ^ *y;
*x = *x ^ *y;
*y = *x ^ *y;
}
}注意:在进行交换的时候,必须先判断两个指针是否指向同一个位置,如果不判断,当两个指针指向相同的地址,将使得*x和*y结果为0。
无需中间变量的两数交换算法
最新推荐文章于 2024-07-20 16:20:11 发布
本文详细解析了C语言中交换两个整数指针的实现方式,重点介绍了如何避免交换相同地址导致的错误情况,通过使用异或运算进行高效安全的交换操作。
666

被折叠的 条评论
为什么被折叠?



