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