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

#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版权协议,转载请附上原文出处链接和本声明。