实现两个数的交换的三种方法

阅读 31

2022-04-05

方法1:使用变量,使得两个数交换,代码如下

#include<stdio.h>

int main()
{
int a = 3;
int b = 5;
int tmp = 0;
printf("before:a=%d,b=%d\n", a, b);
tmp = a;
a = b;
b = tmp;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}

方法2:使用加减法实现两个数的交换,代码如下​【缺陷:可能会溢出】

#include<stdio.h>

int main()
{
int a = 3;
int b = 5;
printf("before:a=%d,b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}

方法3:使用异或法实现两个数的交换,代码如下

#include<stdio.h>

int main()
{
int a = 3;
int b = 5;
printf("before:a=%d,b=%d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("after: a=%d,b=%d\n", a, b);
return 0;
}

精彩评论(0)

0 0 举报