0
我崩溃了我的脑袋以了解错误在这个批处理脚本中的位置,用于通过递归函数“pow”计算给定数量的pow,多次(在脚本中设置功率为3^3)用于计算pow的递归批处理脚本
我得到的错误是: “order1”未被识别为内部或外部命令,可操作程序或批处理文件。 “base22”不被识别为内部或外部命令,可操作程序或批处理文件。 这两个错误都以顺序行显示,无数次直到“批量递归超过堆栈限制”语句停止递归的比较。 有人能够在脚本中找到错误?
@echo off
set /a base1=3
set /a base2=3
set /a order=3
call :pow %base1%, %base2%, %order%
EXIT /B %ERRORLEVEL%
:pow
set /a base11=%~1
set /a base22=%~2
set /a order1=%~3
order1=order1-1
base22=base11*base22
if %order1% GTR 0 (call :pow %base11%, %base22%, %order1%)
else(echo the calculated pow is %base22%)
EXIT /B 0
@pjs,实际上它们缺少SET/A作为命令的一部分。当使用SET/A时,你不需要变量的百分号。 – Squashman
@Squashman谢谢。对shell脚本更熟悉,但是第13行和第14行肯定会让我怀疑。 – pjs
WOPR,'IF ELSE'的语法不正确。打开cmd提示符并键入:'IF /?'。它会告诉你使用'IF ELSE'的正确语法。 – Squashman