遞迴 (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

如需語法及規則的詳細資料,請參閱 FUNCTIONSUBROUTINEENTRY

IBM 延伸開始 當您指定 -qrecur 編譯器選項時,也可以遞迴地呼叫外部程序,不過如果程序指定 RECURSIVERESULT 關鍵字, XL Fortran 會不考慮這個選項。 IBM 延伸結束