C语言交换数字
C程序在不使用第三个变量的情况下交换两个数字
我们可以在不使用第三个变量的情况下交换两个数字。有两种不使用第三个变量即可交换两个数字的常用方法:
通过+和-
通过*和/
程序1: 使用+和-
让我们看一个简单的c示例,该示例在不使用第三个变量的情况下交换两个数字。
#include<stdio.h>
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<stdio.h>
#include<stdlib.h>
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