交换两个变量的(六种)方法分析

来源:互联网 发布:巨人网络借壳a股上市 编辑:程序博客网 时间:2024/04/18 08:38

方法一:用一个临时变量来交换两个变量

#include <stdio.h>int main(){int tmp = 0;int i = 10;int j = 20;tmp=i;i=j;j=tmp;printf("%d %d",i,j);return 0;}
方法二、三、四、:用和(差、积)的形式保存变量再进行变量之间的交换

#include <stdio.h>int main (){int i=10;int j=20;    i=i+j;j=i-j;i=i-j;printf("%d %d",i,j);return 0;}
方法五:用异或的形式保存变量,再进行变量之间的交换,这里注意异或的一个特点:a^b^a=b

#include <stdio.h>int main (){int i=10;int j=20;i=i^j;j=i^j;i=i^j;printf("%d %d",i,j);return 0;}
方法六:用指针来完成两个变量之间的交换,而且需要创建利用函数调用

#include <stdio.h>int main(){int x=10;int y=20;    exchange(&x, &y);  //直接调用,不添加返回类型printf("%d %d",x,y);return 0;}int exchange(int *x, int *y){int tmp=0;tmp=*x;  //把指针x指向的变量赋值给tmp变量空间*x=*y;*y=tmp;}





0 0
原创粉丝点击