黑马程序员技术交流社区

标题: 在不借助第三个变量的情况下如何交换两个变量的值 [打印本页]

作者: 梁永斌    时间: 2012-8-6 11:41
标题: 在不借助第三个变量的情况下如何交换两个变量的值
int a=12;
int b=13;
如何在不利用第三个变量的情况下交换两者之间的值啊!
作者: 许庭洲    时间: 2012-8-6 13:31
class SwapTest
{
    static void Swap(ref int m, ref int n)
    {
        m=m+n;
        b=m-n;
        a=m-n;
     }
     static void main()
    {
        int a=12,b=13
        Swap(ref a, ref b);
        Console.WriteLine("i={0},j={1}", a, b);  //输出结果:a=13,b=12
     }
}
作者: hello world    时间: 2012-8-6 13:46
a=a^b;
b=a^b;  //a^b^b=a;
a=a^b;  //a^a^b=b;
异或:   一个数异或这个数本身还是这个数
作者: 梁永斌    时间: 2012-8-6 13:51
谢谢了!{:soso_e100:}
作者: 梁健1    时间: 2012-8-6 17:52
上面两种的结合:
a=a+b;
b=a-b;
a=a-b;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2