遞迴 (recursion)
可以直接或間接參照本身的程序稱為遞迴程序。 這類程序可以無限期地參照本身,直到符合特定條件為止。 例如,您可以決定正整數
N 的階乘,如下所示:INTEGER N, RESULT
READ (5,*) N
IF (N.GE.0) THEN
RESULT = FACTORIAL(N)
END IF
CONTAINS
RECURSIVE FUNCTION FACTORIAL (N) RESULT (RES)
INTEGER RES
IF (N.EQ.0) THEN
RES = 1
ELSE
RES = N * FACTORIAL(N-1)
END IF
END FUNCTION FACTORIAL
END如需語法及規則的詳細資料,請參閱 FUNCTION、 SUBROUTINE或 ENTRY。
當您指定 -qrecur 編譯器選項時,也可以遞迴地呼叫外部程序,不過如果程序指定 RECURSIVE 或 RESULT 關鍵字, XL Fortran 會不考慮這個選項。 