1:直接利用中间变量进行交换; 2:利用指针传入函数地址在函数内部进行利用中间变量交换; 3:将两个需要交换的数进行加减运算进行交换; 注:因C语言有浮点数之分,不可以认为乘除也可进行交换。 4:将两个数进行亦或运算,也可以实现交换两个数的目的; 5:对两个数进行位操作,也可以实现交换两个数的目的。 接下来我...
方法一:创建临时变量 程序: #include <stdio.h> void swap(int *p1, int *p2) { int t = *p1; *p1 = *p2; *p2 = t; } int main() { int num1 = 2; int num2 = 4; int tmp = 0; printf("num1=%d\n", num1); printf("num2=%d\n", num2); swap(&num1, &num2); printf...
异或运算可以达到交换两数的目的,代码如下: void swap(int &a, int &b) { a = a^b; b = a^b; a = a^b; } 但不推荐使用这种方式,附上常用的临时变量方法对比说明。 临时变量方法: void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; }
本文主要向大家介绍了如何使用C语言实现交换两个数,通过具体的内容向大家展示,希望对大家学习C语言有所帮助。 方法一:最普通方法--建立临时变量 思路分析:建立一个临时变量,通过temp=a,a=b,b=temp来实现交换。 缺点:这只是一种假交换,由于这只是在函数内部临时变量间的交换,所以当函数退出,函数栈帧被释放,原本...
n指连续比特位的个数,j指向第j+1个比特位,r保存交换后的值。 e.g. b =00101111 n=3,i=1,j=5 r =11100011 C测试代码如下: #include <stdio.h>#include<string.h>voidtranlate(intn)//十进制转换为二进制{inta[1000];inti,L,j; i=L=0;while(n/2){ ...
在C语言中,可以使用三种方法来交换两个数的值: 方法一:使用第三个变量 voidswap(int* a,int* b){inttemp = *a; *a = *b; *b = temp; } 方法二:使用加法和减法 voidswap(int* a,int* b){ *a = *a + *b; *b = *a - *b; ...
C 语言实例使用临时变量以下实例演示了交换两个浮点数的值。实例 #include <stdio.h> int main() { double firstNumber, secondNumber, temporaryVariable; printf("输入第一个数字: "); scanf("%lf", &firstNumber); printf("输入第二个数字: "); scanf("%lf",&secondNumber); // 将第一个数的值...
本教程将介绍异或实现两个数的交换 工具/原料 Microsoft Visual Studio 2010 方法/步骤 1 新建一个项目,如图所示:2 定义头文件,如图所示:3 输入main函数,如图所示:4 定义两个int类型变量,如图所示:5 对新定义好的两个变量进行赋值,如图所示:6 使用异或运算对两个变量的值进行交换,如图所示:7 使用...
引入第三个变量,作为临时变量进行存储,完成两数的交换。示例:#include<stdio.h> int main(void){ int a = 10;int b = 20;int tmp;printf("交换前a=%d,b=%d\n",a,b);tmp = a;a = b;b = tmp;printf("交换后a=%d,b=%d\n",a,b);} 分析:tmp = a;//将a变量赋值给tmp,此时tmp=10...