中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-14 03:58
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [小把戏]交换两个变量的值而不使用临时变量
可打印版本  8,507 / 20
第16楼 TLang 发表于 2007-01-27 23:40
初级用户 发帖 21 积分 46
关于+-的算法
关于+-的算法:

以前做过这样的,但是,我们继续用杯子思考,就算两种液体不相容,但是要把两杯里面的液体倒入一个杯子,那么只能至多半杯水(基于安全考虑的上限,不要说一杯只剩底,一杯将满的情况),否则会由于溢出而产生错误!!
第17楼 lxmxn 发表于 2007-01-28 11:47
版主 发帖 4,938 积分 11,386
Originally posted by pengfei at 2007-1-25 23:03:
lxmxn兄用call %%var1%%实际没有展开, 和!var!一样, 是变量延迟的另一种用法. 因此变量交换也无法实现.


  我所要表达的意思正是这种不成立的例子。
第18楼 electronixtar 发表于 2007-01-29 00:42
铂金会员 发帖 2,672 积分 7,493
额,我说点题外话,这个东西强烈建议加入wiki里!
第19楼 pengfei 发表于 2007-01-29 02:19
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
est兄说的对, 放到Wiki不错的想法.

lxmxn兄指出的变量延迟, 脚本中进行变量替换中要防止使用延迟(如call迟延和!var!迟延).
第20楼 zljzsm 发表于 2008-05-11 09:21
初级用户 发帖 29 积分 29
呵呵 又多学了一点
第21楼 maky1117 发表于 2008-12-02 12:12
初级用户 发帖 11 积分 24
呵呵很巧妙地利用批处理中预处理的原理,这也是解释器和编译器的区别之一,C和C++就不得不用临时变量来完成这个交换
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023