wKioL1NpwEqSmGnjAAGTkQ34Dfw398.jpg

大家其实知道可以用异或来实现交换  学过C的人看如上的程序  一看以为肯定交换了

但是注意 C对表达式的计算顺序和Java是不同的  java是从左往右的  所以不对


简单修改就可以了:

wKioL1NpwQDy0eSRAAGlm_lzZDI950.jpg

交换连个数的方法

一、使用中间量  (这个就不多说了)

二、使用异或(如上)

三、使用加减法


wKioL1NpwYHBAAzEAAHPVHpiL-E508.jpg

这个不需要解释吧