很经典的 不用第三个变量把这两个变量值

来源:互联网 发布:java程序员需要看的书 编辑:程序博客网 时间:2024/05/21 21:02

逛论坛 看到一个关于两数交换的问题

感觉有以下方式 :

第一种 :最容易想到的 也是最傻的 呵呵

  int a = 5; // 任意数
  int b = 10; // 任意数
    a = a+b;
    b = a-b;
    a = a-b;


第二种 运用位运算符

   

    int a = 5; // 任意数
    int b = 10; // 任意数

     a = a ^ b;

     b = b ^ a;

     a = a ^ b;

第三种 也是最好玩的

   a = b+((b=a)&0);

  一步解决

根据运算符的优先级  不懂得自己看书

我想说的是 不管 题目多简单 都有好的方法和不好的方法

我们应该多想想 尽量找出最好的解决方法   解决问题不是目的

在解决当中你能学到多少东西才是最重要的!

呵呵.........

原创粉丝点击