实现两个数进行交换的四种方法
#include<stdio.h>
//方法一:使用第三变量实现
void Methods1(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
printf("%d %d\n",a,b);
}
//方法二:不使用第三变量
void Methods2(int a,int b)
{
b=a+b;
a=b-a;
b=b-a;
printf("%d %d\n",a,b);
}
//方法三:不使用第三变量
void Methods3(int a,int b)
{
a=a*b;
b=a/b;
a=a/b;
printf("%d %d\n",a,b);
}
//方法四:不使用第三变量
void Methods4(int a,int b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("%d %d\n",a,b);
}
int main()
{
Methods1(1,2);
Methods2(1,2);
Methods3(1,2);
Methods4(100,100);
return 0;
}
加法与减法都容易越界
异或运算则是a=b时不适用
运用第三变量则是最完美,也便于初学者进行理解的方法
本文介绍四种不同的方法来实现两个整数变量之间的值交换,包括使用第三个变量的传统方法,以及通过算术运算、位运算等不使用额外变量的创新方法。讨论了每种方法的特点和局限性。

1344

被折叠的 条评论
为什么被折叠?



