学习笔记----两个数互换

来源:互联网 发布:apache 允许访问目录 编辑:程序博客网 时间:2024/05/06 03:53

       以前一看见关于两个数互换。大脑的直接反应就是借用第三个temp变量,来达到互换的效果。 不过,最近看了毕向东老师的视频,多学习了其余的两种方法。熟话说“好记性,不如烂笔杆”,在这里纪录下来。为我自己的学习提供方便。特别要谢谢毕老师大笑

     第一方法: 是利用 加数+另一个加数=和
           注意:该方法有局限性。 整数默认为int(4个字节),如果和太大,容易发生溢出。
       
          关键步骤是:
          a=a+b;
          b=a-b;
          a=a-b;

 

   第二方法: 是利用   一个数异或同一个数两次,结果还是这个数。

                  
          关键步骤是:
          a=a^b;
          b=a^b; //这里的a=a^b,所以b=a^b=(a^b)^b=a
          a=a^b;//这里的b=a^b, 所以a=a^b=a^(a^b)=b