C语言如何轻松搞定变量值交换

  介绍

小编给大家分享一下C语言如何轻松搞定变量值交换,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

1。临时变量法

方法解释:采用临时变量的方法,作为中间过渡,这是最简单也是大家最容易想到的方法,此法在各种场合应用极多,应该熟练掌握。

# include   int主要(空白){   int a=1, b=2, tmp;   tmp=一个;   a=b;   b=tmp;   printf (“% d % d" a, b);   返回0;   }

2。加减交换法

方法解释:顾名思义,使用数学中的加减法进行交换,先把a + b的结果暂时先保存在变量中,然后通过这改变后的一个和原始的b进行减法就可以得到交换后的b,缺点是a + b的结果可能越界。

# include   int主要(空白){   int a=1, b=2;=a + b;   b=a - b;   一个=a - b;   printf (“% d % d" a, b);   返回0;   }

3。乘除交换法

方法解释:该方法与加减法类似,就是把加减替换为乘,除缺点是因为采用了乘法,因此比加法更容易越界,使用时应谨慎。

# include   int主要(空白){   int a=1, b=2;   一个=a * b;   b=a/b;   一个=a/b;   printf (“% d % d" a, b);   返回0;   }

4。异或交换法

方法解释:巧妙使用异或运算来进行交换,这种方法主要利用了异或的特性^ b的值先保存到,因为a ^ ^ b=所以可以顺利完成交换,这种方法是很完美的,不存在越界的问题。

# include   int主要(空白){   int a=1, b=2;=^ b;   b=^ b;=^ b;   printf (“% d % d" a, b);   返回0;}

5。移位交换法

方法解释:这种方法不太常用,原理是把原来的int类型的一个的值拆分成高16位和低16位,相当于多了16位的暂存空间可以周转,缺点是如果一个或者b超过了16位,这种方法就会出错,此方法较复杂且容易出错,因此不建议大家使用。

# include   int主要(空白){   int a=1, b=2;   & lt; & lt;=16;   |=b;   ,b=祝辞的在16;   一个=,0 xffff;   printf (“% d % d" a, b);   返回0;   }

看完了这篇文章,相信你对C语言如何轻松搞定变量值交换有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

C语言如何轻松搞定变量值交换