作业帮 > 综合 > 作业

用至少2种方法实现不使用中间变量交换a b 的值 并说明各种方法的局限性

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/09 01:33:19
用至少2种方法实现不使用中间变量交换a b 的值 并说明各种方法的局限性
用至少2种方法实现不使用中间变量交换a b 的值 并说明各种方法的局限性
c++
#include
#define swap(x,y) x^=y^=x^=y
void Swap(int &a,int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
int main()
{
int a,b;
printf("输入第1个数\n");
scanf("%d",&a);
printf("输入第2个数\n");
scanf("%d",&b);
swap(a,b);
printf("交换后%d %d\n",a,b);
Swap(a,b);
printf("交换回来%d %d\n",a,b);
return 0;
}
两种方法.
1、#define swap(x,y) x^=y^=x^=y
2、a+b->a;a-b->b;a-b->a