[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  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
请大哥们指点迷津?万分感谢

本帖最后由 weichenxiehou 于 2011-10-22 22:59 编辑

set/a a+=b等于set/a a=a+b==>理解没错!表示将a+b的值赋予a,这里的"="是赋值符号,并不是等号。
看得多说得多,远比不上写得多。

TOP

  1. 所以a=a+b就是0=0+b,即0=0+1
复制代码
应该是a=0+1

TOP

=号在那里不是逻辑符号,而是赋值符号。把后面的值赋值给=号前面的值
---学无止境---

TOP

谢谢各位的回答,那a+=b,这里的=是什么符号?+号是什么符号?是赋值符号吗?

TOP

回复 5# szjwxn
set/a里所有的=号都是赋值符号。等号(==)只存在于if判断中。
看得多说得多,远比不上写得多。

TOP

+= 是一组符号,至少在 set /? 中是这么表达的,为什么要把它们分割开呢?不明白楼主既然能理解 set /a a=a+b 还有什么疑惑呢?

TOP

本帖最后由 szjwxn 于 2011-10-23 09:34 编辑

谢谢版主的解答,我明白了,a+=b,  +=在这里所执行的就是a=a+b这样的结果
再问一下,a=a+b,这里的第一个a和等号后面的a有什么区别?

TOP

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

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

都一样的~
(不知有理解错吗)

TOP

谢谢解答,不胜赐教

TOP

返回列表