实现两个数进行交换的四种方法
#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时不适用
运用第三变量则是最完美,也便于初学者进行理解的方法