交换两个变量的值 四种方法 第三者引入 函数 指针 异或 加减

222 阅读1分钟

目录

方法一:第三者

代码

方法二:指针

代码

方法三:异或

代码

方法四:加减

代码

题外话

方法一:第三者

一般我喜欢用这种第三者引入法。

代码

#include<stdio.h>
int main()
{
	int a=666,b=999,mis;
	mis=a;
	a=b;
	b=mis; 
}

方法二:指针

但如果代码中经常需要交换两个变量的值,如果还是用这种方法,那么一次交换就要三行代码,这也不是问题,问题是修改很不方便,我就自己写了个函数,一行搞定交换,修改也方便。

函数要实现改变变量的值就要动用指针。

代码

#include<stdio.h>
void exchange(int *a,int *b)
{
	int mis;
	mis=*a;
	*a=*b;
	*b=mis;
}
int main()
{
	int a=666,b=999;
	exchange(&a,&b);
}

方法三:异或

1.a^a=0;

2.a^0=a;

3.a^b=b^a;

代码

#include <stdio.h>
int main()
{
	int a=1234,b=5678;
	a=a^b;
	b=a^b;
	a=a^b;
}

方法四:加减

a=a+b;

b=a-b;

a=a-b;

代码

#include <stdio.h>
int main()
{
	int a=1234,b=5678;
	a=a+b;
	b=a-b;
	a=a-b;
}

题外话

在Python中可以这样

a = 1234
b = 5678
a,b=b,a