C语言实现数值互换的方法

方法一:使用中间变量赋值传递

简答的问题:如果现在由两杯水,要想使这两杯水互换一下,最先想到的就是再拿出第三个杯子,先把一个杯子的水倒入第三个杯子中,再把另一个杯子的水倒入这个空杯子,然后再把第三个杯子的水倒入第二个杯子里面。

#include<stdio.h>
/*
	C语言实现数值互换的方法
		1:使用中间变量赋值传递 
*/ 
int main(){
	int a=5,b=10;
	int temp;
	printf("交换前:a = %d\t b=%d\n",a,b); 
	temp = a;	//核心代码 
	a = b;
	b = temp;
	printf("交换后:a = %d\t b=%d\n",a,b); 
	return 0; 
} 

运行结果:

交换前:a = 5    b=10
交换后:a = 10   b=5

方法二:利用加减操作

#include<stdio.h>
/*
	C语言实现数值互换的方法
		1:使用利用加减操作
*/ 
int main(){
	int a=5,b=10;
	printf("交换前:a = %d\t b=%d\n",a,b); 
	a = a+b;
	b = a-b;	//核心代码 
	a = a-b;
	printf("交换后:a = %d\t b=%d\n",a,b); 
	return 0; 
} 

运行结果:

交换前:a = 5    b=10
交换后:a = 10   b=5

方法三:利用乘除操作(和加减类似)

#include<stdio.h>
/*
	C语言实现数值互换的方法
		1:利用乘除操作(和加减类似)
*/ 
int main(){
	int a=5,b=10;
	printf("交换前:a = %d\t b=%d\n",a,b); 
	a = a*b;
	b = a/b;	//核心代码 
	a = a/b;
	printf("交换后:a = %d\t b=%d\n",a,b); 
	return 0; 
} 

运行结果:

交换前:a = 5    b=10
交换后:a = 10   b=5

方法四:利用异或操作

#include<stdio.h>
/*
	C语言实现数值互换的方法
		1:利用异或操作
*/ 
int main(){
	int a=5,b=10;
	printf("交换前:a = %d\t b=%d\n",a,b); 
	a = a^b;
	b = b^a;	//核心代码 
	a = a^b;
	printf("交换后:a = %d\t b=%d\n",a,b); 
	return 0; 
} 

运行结果:

交换前:a = 5    b=10
交换后:a = 10   b=5

对于方法的比较可以参考:https://blog.csdn.net/do2jiang/article/details/4549679


版权声明:本文为wang647861136原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。