背景:如果不借助第三方变量,实现两个int数值的交换,如何做?
其实就一句宏定义就可以实现的:
#define swap(a,b) a^=b^=a^=b
拆分开来就是下面三句的效果a^=b;
b^=a;
a^=b;
用的就是语法中的异或操作,动手画一下就OK......
背景:如果不借助第三方变量,实现两个int数值的交换,如何做?
其实就一句宏定义就可以实现的:
#define swap(a,b) a^=b^=a^=b
拆分开来就是下面三句的效果a^=b;
b^=a;
a^=b;
用的就是语法中的异或操作,动手画一下就OK......