两变量的交换

要进行变量交换的方式,我目前知道有三种:
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
posted @ 2019-04-01 11:26  简单的也不会啊  阅读(147)  评论(0)    收藏  举报