这里整理了三种方法分享给大家。
1、使用加减法实现
这种思路很简单,用a来存a+b的值(此时a的值变为a+b,b的值未变),后将a-b的值赋值给b(既(a+b) - b赋值给b),最后将a-b的值赋值给a(既(a+b) - (a+b-b)赋值给a)。
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
a = a + b;
b = a - b;
a = a - b;
printf("%d %d", a, b);
return 0;
}
2、使用乘除法实现
第二种方法和第一种有异曲同工之妙,同样也是用a来存取a*b的值,后将a/b的值赋值给b,最后将a/b的值赋给a。
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
a = a * b;
b = a / b;
a = a / b;
printf("%d %d", a, b);
return 0;
}
3、使用异或实现
这里补充下异或的知识点
这样就有0^n=n、n^n=0等等,详细可以去相关博客查看。
这里有一条规律:两个数异或后再异或其中一个数可以得到另外一个数。
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("%d %d", a, b);
return 0;
}
总结:
有写的不好和错误的地方希望大家指正,谢谢!