📌  相关文章
📜  C实现两数字交换(不使用第三个变量)

📅  最后修改于: 2020-10-23 00:58:15             🧑  作者: Mango

C程序交换两个数字而没有第三个变量

我们可以交换两个数字而无需使用第三个变量。有两种不使用第三个变量即可交换两个数字的常用方法:

  • 通过+和-
  • 通过*和/

程序1:使用+和-

让我们看一个简单的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

程序2:使用*和/

让我们看另一个示例,使用*和/交换两个数字。

#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