Board logo

标题: 为什么x+=1后运算结果和x运算结果相同,第二次+=1才不同 [打印本页]

作者: zerocq     时间: 2007-1-19 06:29    标题: 为什么x+=1后运算结果和x运算结果相同,第二次+=1才不同

当变量1满足要求后变量2递增1
可是遇到一点小问题,搞不懂
下边我取出这部分有关的代码,大家帮忙看下

代码中变量y达到要求所以变量x累加
但第一次加1后结果a和原来的a相同的
第二次x累加后结果a才是递增的
怎么样才可以让第一次累加结果也和原始的不同
@echo off
cls
set /a z=1
set /a x=2
set /a y=3
call :计算 %x% %y%
goto :eof

:计算
set /a a=(240+%1*24)*1^<^<(%z%-1)
echo a=%a%

:main
set /a y+=100
if %y% GEQ 1000 (
echo ..........
set /a x+=1    <---------这里x累加1
set /a y=0
call :计算 %x% 0
)
goto :main

[ Last edited by namejm on 2007-1-18 at 09:34 PM ]
作者: zerocq     时间: 2007-1-19 07:42
大家帮帮忙啊,解决这个问题脚本就大功告成了
我研究一整天了
作者: hxuan999     时间: 2007-1-19 09:44
试试这样可以不,把call :计算 %x% 0改成call :计算 %%x%% 0
@echo off
cls
set /a z=1
set /a x=2
set /a y=3
call :计算 %x% %y%
goto :eof

:计算
set /a a=(240+%1*24)*1^<^<(%z%-1)
echo a=%a%

:main
set /a y+=100
if %y% GEQ 1000 (
echo ..........
set /a x+=1
set /a y=0
call :计算 %%x%% 0
)
goto :main

作者: secowu     时间: 2008-2-14 16:52
set t=time /t

t%
15:41

set /a %t%+=1
以零为除数的错误。
作者: slore     时间: 2008-2-14 17:09
2007-1-19 06:29
。。。这帖子。。都掘出来了……