提到两个数互换,首先想到的应该是如何不引入第三个数实现,当然也有很多方法。
想到个有趣的事就是怎么用一行代码搞定互换,其实也不难。
先来两种小学生写法:
a = a + b - (b = a);
a = a * b / (b = a);
以上两句结果一样,就是把a,b值互换。
还有一种无赖写法:
a = b + (b = a) * 0;
稍高端的写法是:
a = a ^ b ^ (b = a);
这个原理就是一个数异或另一个数两次值不变。
时间: 2024-10-11 11:40:06