分类: C/C++
2012-03-27 22:11:59
在C语言中你知道多少种 交换两个数的呢?现在我分享一下自己的几种方法:
由于比较简单,所以没有添加注释!
前提:
定义:int a=3,b=4;
要求:交换a,b的值;
1,中间变量:
设个中间变量:int t;
t=a;
a=b;
b=t;
很简单吧,简单的值交换。
2,指针:
int *p1=&a;
int *p2=&b;
int t;
int *p3=&t;
*p3=a;
p1=&b;
p2=p3;
是不是,觉得这个多此一举啊,呵呵,虽然有点麻烦,但和第一种方法却又本质的不同,这种方法利用的是地址实现对值的交换,而第一个是直接的值接换!!!
3,位运算:
a=a^b;
b=b^a;
a=a^b;
是不是也很简单啊,
4,容器法:
a=a+b;
b=a-b;
a=a-b;