不使用其他变量,交换两个变量的位置 发表于 2015-09-25 分类于 技术 阅读次数: 今天在《深入理解计算机系统》上看到的,突然想到以前似乎看到过这样的题:不使用其他变量,交换两个变量的位置。 方法是使用异或运算 ^ ,有特性 a^a=0, 0^a=a。 12345void inplace_swap(int *x, int *y){ *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y;} 很基础,并且这种交换方式并没有性能上的优势,只是一道考题。