a=a+b;
b=a-b;
a=a-b;
// 这种方法并不好。如果 a + b 超出了 a 这种数据能够表示的范围呢
其实最好还是通过,第三个临时变量的方式。
// 实际编程中并不适合,不过对于智力题是非常不错的。
//------------------------------------------
// ^ 对于整形非常合适 //
//----------------------//
a=a^b;
b=b^a;
a=a^b;
[[it] 本帖最后由 cosdos 于 2008-4-4 15:01 编辑 [/it]]
----------------解决方案--------------------------------------------------------
/***************************************************************************
(a = 20) == 00010100;
(b = 25) == 00011001;
(a = a ^ b) == 00001101;
(b = b ^ a) == 00010100;
(a = a ^ b) == 00011001;
***************************************************************************/
----------------解决方案--------------------------------------------------------
据说我是新来的老手~嘿嘿
----------------解决方案--------------------------------------------------------
b=a-b;
a=a-b;
// 这种方法并不好。如果 a + b 超出了 a 这种数据能够表示的范围呢
其实最好还是通过,第三个临时变量的方式。
// 实际编程中并不适合,不过对于智力题是非常不错的。
//------------------------------------------
// ^ 对于整形非常合适 //
//----------------------//
a=a^b;
b=b^a;
a=a^b;
[[it] 本帖最后由 cosdos 于 2008-4-4 15:01 编辑 [/it]]
----------------解决方案--------------------------------------------------------
/***************************************************************************
(a = 20) == 00010100;
(b = 25) == 00011001;
(a = a ^ b) == 00001101;
(b = b ^ a) == 00010100;
(a = a ^ b) == 00011001;
***************************************************************************/
----------------解决方案--------------------------------------------------------
据说我是新来的老手~嘿嘿
----------------解决方案--------------------------------------------------------