注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
shuangshumei的个人空间 https://home.eeworld.com.cn/space-uid-89478.html [收藏] [复制] [分享] [RSS]
日志

value swap

已有 930 次阅读2009-6-10 09:46 |个人分类:脚本语言 Perl|

有一些小的tips,这次拿value swap提一下。
以往在C语言中,如果要交换两个变量的值,基本上会借助一个中间变量,先把其中一个值保存在中间变量中,然后再进行赋值:
e.g.初始值:a = 5, b = 6;
c = a; a = b; b = c;
借助C先存储a的原始值,再把b赋给a,之后把c中保存的a的原值赋给b。
 
这个问题如果用perl解决就比较简单,利用列表上下文;
e.g.初始值同上。
只需要一个表达式完成value swap:
($a, $b) = ($b, $a);
print "$a,$b";
结果得到:6,5;
 
这样的方法,应该是perl内部机制的问题,perl脚本语言中有趣的现象还是比较多的。
 
 
 
 
全部作者的其他最新日志
发表评论 评论 (1 个评论)
回复 richiefang 2009-9-22 10:57
用异或运算也能swap,不用中间变量

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章