c语言中不引入第三变量交换两个变量

写一个程序假如a=(b=)怎么不引入新变量把两个的数据交换啊
2024年12月02日 18:08
有3个网友回答
网友(1):

两个变量交换的三种方法
第一种 借助第三变量来实现;

第二种方法是利用加减法实现两个变量的交换,
第三种方法是得用位异或运算来实现,也是效率最高的一种

加减法交换
int a = 1;
int b = 2;

a = a + b;
b = a - b;
a = a - b;

位异或运算交换
int a = 1;
int b = 2;

a = a ^ b;
b = a ^ b;
a = a ^ b;

网友(2):

a=a+b;
b=a-b;
a=a-b;

网友(3):

a=a^b
b=a^b
a=a^b