方法一:用一个临时变量来交换两个变量
#include <stdio.h>
int main()
{
int tmp = 0;
int i = 10;
int j = 20;
tmp=i;
i=j;
j=tmp;
printf("%d %d",i,j);
return 0;
}
方法二、三、四、:用和(差、积)的形式保存变量再进行变量之间的交换
#include <stdio.h>
int main ()
{
int i=10;
int j=20;
i=i+j;
j=i-j;
i=i-j;
printf("%d %d",i,j);
return 0;
}
方法五:用异或的形式保存变量,再进行变量之间的交换,这里注意异或的一个特点:a^b^a=b
#include <stdio.h>
int main ()
{
int i=10;
int j=20;
i=i^j;
j=i^j;
i=i^j;
printf("%d %d",i,j);
return 0;
}
方法六:用指针来完成两个变量之间的交换,而且需要创建利用函数调用
#include <stdio.h>
int main()
{
int x=10;
int y=20;
exchange(&x, &y); //直接调用,不添加返回类型
printf("%d %d",x,y);
return 0;
}
int exchange(int *x, int *y)
{
int tmp=0;
tmp=*x; //把指针x指向的变量赋值给tmp变量空间
*x=*y;
*y=tmp;
}