对于C语言中交换两个数的方法,目前大体上有这么5种:
1:直接利用中间变量进行交换;
2:利用指针传入函数地址在函数内部进行利用中间变量交换;
3:将两个需要交换的数进行加减运算进行交换;
注:因C语言有浮点数之分,不可以认为乘除也可进行交换。
4:将两个数进行亦或运算,也可以实现交换两个数的目的;
5:对两个数进行位操作,也可以实现交换两个数的目的。
接下来我将对后面三种进行分析:
前面两种太过常见,在此不做说明:
第三种:加减交换
将两个数之和赋值给第一个数,然后用新第一个数减去第二个数得到旧第一个数,并赋值给第二个数
,再用新第一个数减去新第二个数(旧第一个数)得到旧第二个数,并赋值给第一个数,在此,实现
两个数的交换,代码如下:
1 #include
2
3 intmain(){
4 int a=10,b=20;
5 a+=b;
6 b=a-b;
7 a=a-b;
8
9 r