【技巧】不使用中间变量交换两个变量的值

最近在论坛里又看到一个很熟悉的问题:不使用中间变量交换两个变量的值。网上流传的大概有两种方法,在这里总结一下。

【方法一】
    假设须要交换的两个变量都是整型,变量名分别为a和b。
     
      a = a^b;
      b = a^b;
      a = a^b;


    评价:该方法只能针对整形变量进行操做。

【方法二】
    假设须要交换的两个变量名分别为
a和b。

      a=a+b;
      b=a-b;
      a=a-b;

    评价:该方法虽然能够用于浮点数,可是在变量值比较大的状况下可能会产生溢出。

    后记:其实使用中间变量交换两个数并不会增长程序多少负担。相反,在实际的项目开发中,若是使用上述技巧交换两个变量的值,会下降程序的可读性,弊大于利!因此,不建议在实际开发中使用相似的技巧。
spa

相关文章
相关标签/搜索