想必大家看的这个题就一定想到了种最简单的解法那就是求和交换
#include <stdio.h>
int main()
{int a=1,b=100;
a=a+b;
b=a-b;
a=a-b;
printf("%d %d",a,b);
}
运用这种方法可以在没有第3个变量出现的情况下交换a,b位置。
但这种做法是有一定错误的,那就是存在溢出现象。
为了避免溢出的产生我们要采用以下方法
#include <stdio.h>//不通过另一个变量,交换ab位置
int main()
{
int a=3;
int b=4;
a=a^b;
b=a^b;
a=a^b;
printf("%d %d",a,b);
}
这种方法既避免了溢出,又交换了ab的位置,非常巧妙。