📅  最后修改于: 2020-10-23 00:58:15             🧑  作者: Mango
我们可以交换两个数字而无需使用第三个变量。有两种不使用第三个变量即可交换两个数字的常用方法:
让我们看一个简单的c示例,该示例在不使用第三个变量的情况下交换两个数字。
#include
int main()
{
int a=10, b=20;
printf("Before swap a=%d b=%d",a,b);
a=a+b;//a=30 (10+20)
b=a-b;//b=10 (30-20)
a=a-b;//a=20 (30-10)
printf("\nAfter swap a=%d b=%d",a,b);
return 0;
}
输出:
Before swap a=10 b=20
After swap a=20 b=10
让我们看另一个示例,使用*和/交换两个数字。
#include
#include
int main()
{
int a=10, b=20;
printf("Before swap a=%d b=%d",a,b);
a=a*b;//a=200 (10*20)
b=a/b;//b=10 (200/20)
a=a/b;//a=20 (200/10)
system("cls");
printf("\nAfter swap a=%d b=%d",a,b);
return 0;
}
输出:
Before swap a=10 b=20
After swap a=20 b=10