某日去一家公司的面试题:任意定义两个整型,在不用第三个变量的情况下,用与、或、异或将他们的值互换,有哪位算法高手能告诉我下吗??小弟这里先谢了。

解决方案 »

  1.   

    a=3;
    b=4;
    a=a+b; 7
    b=a-b; 3
    a=a-b; 4老题目了。
      

  2.   

    int a, b;
                a = 10;
                b=20;
                a = a + b;
                b = a - b;
                a = a - b;
                Console.WriteLine("a:{0} b:{1}", a, b);
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  3.   

    int A = 1;
    int B = 5;
    //A = A + B;
    //B = A - B;
    //A = A - B;
    A ^= B;
    B = A ^ B;
    A ^= B;Text = string.Format("A={0},B={1}", A, B);
      

  4.   

    老掉牙的程序原理就是
    //A = A + B;
    //B = A - B;
    //A = A - B;未避免益处,这里用异或A = A ^ B;
    B = A ^ B;
    A = A ^ B;
      

  5.   


    x= x^y;
    y= y^x;
    x= x^y;
      

  6.   

    a=3;
    b=4;
    a=a+b; 7
    b=a-b; 3
    a=a-b; 4老题目了。
    --------------------------
    和我想法一样
      

  7.   

    int a,b
    a=a+b;
    b=a-b;
    a=a-b;
    看来面试题也是相互抄袭呀!老题目
      

  8.   

    看一下这个
    http://community.csdn.net/Expert/topic/4899/4899577.xml?temp=.2095148
      

  9.   

    这两句是比较经典
    a = b | (b = a) & 0;
    b = a + (a = b) * 0;
      

  10.   

    x= x^y;
    y= y^x;
    x= x^y;
      

  11.   

    x= x^y;
    y= y^x;
    x= x^y;
      

  12.   

    a^=b^=a^=b;
    c#不行,必须分开写
      

  13.   

    int x,y;
    x=x+y;
    y=x-y;
    x=x-y;
    即可