不使用中间变量交换2个数据

第一种方法:code

<!-- lang: cpp -->
   a=a+b;
   b=a-b;
   a=a-b;

可能产生越界和溢出。方法


第二种方法:co

<!-- lang: cpp -->
   a=a^b;
   b=a^b;
   a=a^b;

这种方法只适用整形数。 写成宏的形式

<!-- lang: cpp -->
 #define swap(a,b) (a)^=(b)^=(a)^=(b)
相关文章
相关标签/搜索