Sun Studio 12:Fortran 编程指南

10.1.3.2 递归

在循环的某一次迭代中设置并在后续迭代中使用的变量会导致产生交叉迭代依赖性或递归。循环中的递归要求迭代以正确顺序执行。例如:


   DO I=2,N
      A(I) = A(I-1)*B(I)+C(I)
   END DO

必须在上一迭代中计算出 A(I) 的值,方能在当前迭代中(作为 A(I-1))使用。要产生正确的结果,迭代 I 必须先完成,迭代 I+1 方可执行。