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

写一个程序假如a=(b=)怎么不引入新变量把两个的数据交换啊
2024-12-02 18:08:42
推荐回答(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