当前位置:首页 > 技术心得 > 正文内容

C语言交换两个数

xjtudll16年前 (2011-05-13)技术心得12210

可能大家都认为交换两个数如此的简单,没必要写,没新意。例如,交换a和b两个数,教科书上一直这样写:
temp=b;
a=temp;
b=a;

确实很简单。但是最近看到一段代码,觉得十分高超,是这样的:
a^=b;
b^=a;
a^=b;

同样也是三句代码,但是却未使用局部变量,巧妙吧。

值得注意的是,只有满足以下条件,才能使用上述代码

1、a,b均为无符号数
2、a,b长度一致

这个在单片机中还是有作用的哦,尤其是RAM不足的情况下~~~~

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/177/

标签: C
分享给朋友:

“C语言交换两个数” 的相关文章

Android手机Google服务耗电过多

手机:三星I9000 操作系统:Android 2.3.3 (Lida ROM) 现象:电池使用时间很短,经常莫名其妙就没电了。查看电量消耗,60%(甚至更多)为“Google框架服务”占用。 病因: 通过网络搜索,发现是因为曾经禁止了“Google框架服务&rd...

位运算——交换两个数

交换两个数 交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下 int tmp = x; x = y; y = tmp; 这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,**不允许...

金蝶K3:单据关系表查询

金蝶K3:单据关系表查询

金蝶K3后台数据存放的都是内码 前台的数据如何在后台进行查询可以使用这张表 ictablerelation例如我查询发货通知单  select * from ictablerelation where FTableName='SEOutstock'  从数据库字典...

怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??

1、truncate table 表名2、dbcc checkident(表名,RESEED,0)...

金蝶K3单据编码规则扩展方法解密

金蝶K3单据编码规则扩展方法解密

https://baijiahao.baidu.com/s?id=1603718041512798752&wfr=spider&for=pc 在实施客户过程中,客户对单据编码规则提了一些简单的需求: 需求一:内贸订单和外贸订单希望能够通过前缀编码来区分。 需求二:系统订单编码规则为&...

Xcode5如何添加或更换图标

Xcode5如何添加或更换图标

参考文献: 官方教程:https://developer.apple.com/library/ios/qa/qa1686/_index.html 1、添加图标图片资源到工程 2、选择对应的App Icons。如果从来没有添加过,【Resource】处可以自己选择想要的图标资源。选择好后编译即可。编...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。