标题: [数值计算] 批处理中数值计算怎样理解? [打印本页]
作者: szjwxn 时间: 2011-10-22 22:48 标题: 批处理中数值计算怎样理解?
- set /a b=1
- set /a a+=b
- 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:58
本帖最后由 weichenxiehou 于 2011-10-22 22:59 编辑
set/a a+=b等于set/a a=a+b==>理解没错!表示将a+b的值赋予a,这里的"="是赋值符号,并不是等号。
作者: sxw 时间: 2011-10-23 00:36
复制代码
应该是a=0+1
作者: broly 时间: 2011-10-23 00:45
=号在那里不是逻辑符号,而是赋值符号。把后面的值赋值给=号前面的值
作者: szjwxn 时间: 2011-10-23 08:56
谢谢各位的回答,那a+=b,这里的=是什么符号?+号是什么符号?是赋值符号吗?
作者: weichenxiehou 时间: 2011-10-23 09:03
回复 5# szjwxn
set/a里所有的=号都是赋值符号。等号(==)只存在于if判断中。
作者: CrLf 时间: 2011-10-23 09:10
+= 是一组符号,至少在 set /? 中是这么表达的,为什么要把它们分割开呢?不明白楼主既然能理解 set /a a=a+b 还有什么疑惑呢?
作者: szjwxn 时间: 2011-10-23 09:32
本帖最后由 szjwxn 于 2011-10-23 09:34 编辑
谢谢版主的解答,我明白了,a+=b, +=在这里所执行的就是a=a+b这样的结果
再问一下,a=a+b,这里的第一个a和等号后面的a有什么区别?
作者: garyng 时间: 2011-10-23 15:36
set /a a+=b
是 下一个a的值=现在a的值+b的值
set /a a=a+b
是 下一个a的值=现在a的值+b的值
都一样的~
(不知有理解错吗)
作者: szjwxn 时间: 2011-10-23 21:38
谢谢解答,不胜赐教
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |