交换两个数的值,不允许创建临时变量

方法1:加减法
#include<stdio.h>
int main()
{int a;
int b;
scanf("%d%d",&a,&b);
a=a+b;
b=a-b;
a=a-b;
printf("%d,%d",a,b);
return 0;
}
方法二:异或(程序运行速度会比方法一快)
#include<stdio.h>
int main()
{
int a=2;
int b=4;
a=a^b;
//a=0010^0100=0110
b=a^b;
//b=0110^0100=0010
a=a^b;
//a=0110^0010=0100
return 0;

}

发布了24 篇原创文章 · 获赞 1 · 访问量 392

猜你喜欢

转载自blog.csdn.net/weixin_43519514/article/details/100664496