Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17870
  • 博文数量: 7
  • 博客积分: 190
  • 博客等级: 入伍新兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-27 05:42
文章分类

全部博文(7)

文章存档

2012年(7)

我的朋友
最近访客

分类: C/C++

2012-03-27 22:11:59

在C语言中你知道多少种 交换两个数的呢?现在我分享一下自己的几种方法:

由于比较简单,所以没有添加注释!

前提:

        定义:int a=3,b=4;

        要求:交换a,b的值;

 

1,中间变量:

       设个中间变量:int t;

                                   t=a;

                                   a=b;

                                   b=t;

        很简单吧,简单的值交换。

 

 

2,指针:

                                 int *p1=&a;

                                 int *p2=&b;

                                 int t;

                                 int *p3=&t;

                                 *p3=a;

                                  p1=&b;

                                  p2=p3;

是不是,觉得这个多此一举啊,呵呵,虽然有点麻烦,但和第一种方法却又本质的不同,这种方法利用的是地址实现对值的交换,而第一个是直接的值接换!!!

 

 

3,位运算:

                                    a=a^b;

                                    b=b^a;

                                    a=a^b;

     是不是也很简单啊,

 

 

4,容器法:

                                    a=a+b;

                                    b=a-b;

                                    a=a-b;

阅读(685) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:linux 中文显示乱码解决办法

给主人留下些什么吧!~~