交换数字,那我们第一反应是不是就是联想到“油碗换醋碗”
但是现在限制来了,我们没有空碗,那我们要如何交换数字
这边Mr.狠人分享一个思路,这个思路能延申出两种实现的方法
方法1:
思路就是这样,代码手到擒来
//交换数字
int main()
{
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d b=%d", a, b);
return 0;
}
想通了,就不妨想开点
方法2:
上面的方法都能想这个就不用过多解释了吧,同样的逻辑但更像数学题
代码如下:
//交换数字
int main()
{
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d b=%d", a, b);
return 0;
}
有帮助请点个赞吧~