不使用中間變量交換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)
相關文章
相關標籤/搜索