本站已于 20/7/2026 停止更新并归档
C

C语言中两个变量的交换

有童yt_hy · 6月20日 · 2025年 · · 本文共165个字 · 预计阅读1分钟 1095次已读
AI 总结
文章介绍了交换两个变量的三种方法:借助临时变量、通过加减运算,以及利用按位异或的特性完成交换。

临时变量

void swap(int *x, int *y){
int temp;
  temp = *x;
  *x = *y;
  *y = temp;
}

算术法

a = a + b;
b = a - b;   /* 此时 b 得到原来的 a */
a = a - b;   /* 此时 a 得到原来的 b */

按位异或(XOR)法

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

此处涉及二进制的按位异或计算,也就是所谓的1 0为1,其他为0.