在C语言中,交换两个变量是一种简单而又常见的题型,那么怎么交换两个变量呢?
小编给大家整理的两种不同的交换方法,每种方法又分为两个不同的方法:
方法一(创建第三变量进行交换):
#include<stdio.h>
int main()
{
int a=10;
int b=20;
int tmp;//第三变量
tmp = a;
a = b;
b=tmp;
printf("a=%d,b=%d",a,b);
return 0;
}
#include<stdio.h>
int main()
{
int a = 10;
int b=20;
int tmp;//第三变量
int* p1 = &a;
int* p2 = &b;
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
printf("a=%d,b=%d", a, b);
return 0;
}
创建第三变量是最简单的一中,那么有没有不创建第三变量就可以进行交换的呢?
方法二(不创建第三变量进行交换):
#include<stdio.h>
int main()
{
int a = 5;
int b = 7;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d,b=%d", a, b);
return 0;
}
#include <stdio.h>
int main()
{
int a = 10;
int b=20;
a = a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d", a, b);
return 0;
}
两种变量交换的方式既简单又基础,望大家都掌握!