互换两个变量(不使用中间变量)

第一种方法(可能越界):

a=a+b;
b=a-b;
a=a-b;

第二种写法(只适用于整数):

解决方法:(a、b异或的结果 ,和a异或得b ,和b异或得a)

a=a^b;
b=a^b;
a=a^b;

写成宏替换法:

#define swap(a,b) (a)^=(b)^=(a)^=(b)  

 

posted @ 2013-04-23 21:16  一枚程序员  阅读(229)  评论(0编辑  收藏  举报