方法一:
i=i+j;
j=i-j;
i=i-j;
方法二:
i^=j;
j^=i;
i^=j;
方法三:
// 用加减实现,而且不会溢出
a = a+b-(b=a);
本文介绍三种不借助额外变量实现两个数交换的方法:通过加减操作、异或操作及利用数学技巧避免溢出问题。
方法一:
i=i+j;
j=i-j;
i=i-j;
方法二:
i^=j;
j^=i;
i^=j;
方法三:
// 用加减实现,而且不会溢出
a = a+b-(b=a);

被折叠的 条评论
为什么被折叠?