0
点赞
收藏
分享

微信扫一扫

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

西风白羽 2022-04-05 阅读 31

方法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 条评论