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

C语言交换两个数

xjtudll15年前 (2011-05-13)技术心得10910

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

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

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

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

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

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

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

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

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

标签: C
分享给朋友:

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

两个路由器连接设置

两个路由器连接在一起,有两种方式,为表述方便,以A、B代替路由器名称 一、A路由器当路由器用,B路由器当交换机用 组网方式:A的LAN口接B的任意一个LAN口,A和B的其余LAN口接PC,两台路由器最多可供6台PC上网。 A路由器的设置方式就不说了,重点是要开启DHCP,且要设置自动分配的IP范围...

Proteus电源设置

Proteus电源设置

Proteus中,默认电源为VCC=5V,GND=0,当我们要使用其它电压值时该怎么办?例如3.3V,-5V,15V等等,没关系,有专门的菜单可以设置,跟我学:菜单: 新增加: 注意Name可以随意和Voltage值才是电压值 比如系统默认VEE=-5V ...

Altium避开某些区域覆铜

Altium避开某些区域覆铜

覆铜的时候,有时候会有些地方不能覆铜。例如下图,如果想在A区域覆铜,而B区域不覆铜。该怎么办呢?? 网上有云: 1、B画keepout层,然后再覆铜,这样B就可避开覆铜。 2、B区域放置一个同等大小焊盘,然后覆铜。 以上方法均不怎么完美,重新覆铜的画有可能会影响覆铜的形状。 其实Altium已经自...

魅族Flyme7不显示logcat

魅族Flyme7不显示logcat

设置 -> 辅助功能 -> 开发者选项 -> Flyme扩展功能 -> 性能优化 -> 高级日志输出 -> 全部允许 没有开发者选项的先去系统设置里将开发者选项给点出来...

按键精灵手机助手无法连接到手机调试

现象: 按键精灵手机助手无法连接到手机调试 手机已打开开发者选项,已选择USB调试   解决办法: 打开手机上的按键精灵,此时手机助手连上了……...

OKI单片机——ML610Q4XX 捕获功能

OKI单片机——ML610Q4XX 捕获功能

捕获取得的值是正常的两倍。 配置步骤: 1.通过(P0CON1)设置引脚模式。 2.设置外部引脚中断控制寄存器EXICON1。 3.设置CAPCON寄存器的ECAP1位启动捕获通道1。 /***********************************************/ * @bri...

发表评论

访客

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