两变量的交换
要进行变量交换的方式,我目前知道有三种:
1、设置临时变量(一般的做法)
2、使用异或运算
3、加减交换
设置临时变量:
以交换a,b为例:要将a,b的内容交换,得借助另外一个变量temp(另外的容器)。我们先将a或b(这里选a)中的一个存到temp。再让b写入a,最后将temp的值写入b中。代码如下:
#include<stdio.h> int main() { int a = 5,b = 10,temp; //交换 temp = a; a = b; b = temp; //交换后输出 printf("%d%d",a,b); return 0; }
使用异或运算:
使用异或运算的好处就是不用设临时变量。具体操作 a = a ⊕ b ; b = a ⊕ b; a = a ⊕ a;
异或运算规则,相同为0,不同为1。真值表如下图:
| A | B | A^B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

浙公网安备 33010602011771号