找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28816|回复: 9

[数值计算] 批处理中数值计算怎样理解?

[复制链接]
发表于 2011-10-22 22:48:40 | 显示全部楼层 |阅读模式
  1. set /a b=1
  2. set /a a+=b
  3. echo %a%
复制代码
问一下大侠,a+=b的意思是a=a+b吗?
如果是的话,那set /a a+=b之前并没有给a赋值,那a的值就是0了,
所以a=a+b就是0=0+b,即0=0+1
请大哥们指点迷津?万分感谢
发表于 2011-10-22 22:58:25 | 显示全部楼层
本帖最后由 weichenxiehou 于 2011-10-22 22:59 编辑

set/a a+=b等于set/a a=a+b==>理解没错!表示将a+b的值赋予a,这里的"="是赋值符号,并不是等号。
发表于 2011-10-23 00:36:08 | 显示全部楼层

  1. 所以a=a+b就是0=0+b,即0=0+1
复制代码
应该是a=0+1
发表于 2011-10-23 00:45:04 | 显示全部楼层
=号在那里不是逻辑符号,而是赋值符号。把后面的值赋值给=号前面的值
 楼主| 发表于 2011-10-23 08:56:58 | 显示全部楼层
谢谢各位的回答,那a+=b,这里的=是什么符号?+号是什么符号?是赋值符号吗?
发表于 2011-10-23 09:03:53 | 显示全部楼层
回复 5# szjwxn
set/a里所有的=号都是赋值符号。等号(==)只存在于if判断中。
发表于 2011-10-23 09:10:20 | 显示全部楼层
+= 是一组符号,至少在 set /? 中是这么表达的,为什么要把它们分割开呢?不明白楼主既然能理解 set /a a=a+b 还有什么疑惑呢?
 楼主| 发表于 2011-10-23 09:32:42 | 显示全部楼层
本帖最后由 szjwxn 于 2011-10-23 09:34 编辑

谢谢版主的解答,我明白了,a+=b,  +=在这里所执行的就是a=a+b这样的结果
再问一下,a=a+b,这里的第一个a和等号后面的a有什么区别?
发表于 2011-10-23 15:36:13 | 显示全部楼层
set /a a+=b
是 下一个a的值=现在a的值+b的值

set /a a=a+b
下一个a的值=现在a的值+b的值

都一样的~
(不知有理解错吗)
 楼主| 发表于 2011-10-23 21:38:35 | 显示全部楼层
谢谢解答,不胜赐教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 05:43 , Processed in 0.019394 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表