在不使用中间变量的情况下,如何实现交换两个变量的数值,(C#)
小弟在面试中碰到的,请指点

解决方案 »

  1.   

    int i = 1,j = 2;
    i = i + j;//i = 3,j = 2
    j = i - j;//i = 3,j = 1
    i = i - j;//i = 2,j = 1;
      

  2.   

    int a=5;
    int b=6;a+=b;
    b-=a;
    a-=b;老题了,呵呵~~
      

  3.   

    string j = "1";
    string i = "2";
    j=j+","+i;
    i = j.SubString(0,j.IndexOf(","));
    j = j.SubString(j.LastIndexOf(","),j.Length);
    这样应该就搞定了,呵呵
      

  4.   

    winxieddd(一剑飘香(找工作)) ( )  是不是太想拿分,算错了哈
      

  5.   

    int a=5;
    int b=6;a+=b;  // a->11 b-> 6
    b=a-b;  // a->11 b-> 5
    a-=b;  // a->6  b-> 5
      

  6.   

    void swap(int a,int b) 

    a=a^b; 
    b=b^a; //b^a相当于 b^a^b 也就是 b^a^b的值就是a了, 下边相同 
    a=a^b; 
    }   Crary 提供的解决方法
      

  7.   

    这样用的人是变态,记得两年前我也被考过这样的题目,刚开始用out之类的参数,想了n多的方案都不可能,最后字符串加起来然后分别substring就搞定了,出这题的人比较贱