增量处理
- 将选择 DO 变量,迭代计数以及其 DO 语句最近执行的活动 DO 构造的增量进行处理。
- DO 变量的值增加了 m3的值。
- 迭代计数减少了 1。
- 执行将继续对迭代计数已递减的同一 DO 构造进行循环控制处理。
Migration Tip:
- 使用 EXIT, CYCLE和无限 DO 语句代替 GOTO 语句。
FORTRAN 77 源代码
I = 0
J = 0
20 CONTINUE
I = I + 1
J = J + 1
PRINT *, I
IF (I.GT.4) GOTO 10 ! Exiting loop
IF (J.GT.3) GOTO 20 ! Iterate loop immediately
I = I + 2
GOTO 20
10 CONTINUE
ENDFortran 90/95/2003 源代码:
I = 0 ; J = 0
DO
I = I + 1
J = J + 1
PRINT *, I
IF (I.GT.4) EXIT
IF (J.GT.3) CYCLE
I = I + 2
END DO
END示例
INTEGER :: SUM=0
OUTER: DO
INNER: DO
READ (5,*) J
IF (J.LE.I) THEN
PRINT *, 'VALUE MUST BE GREATER THAN ', I
CYCLE INNER
END IF
SUM=SUM+J
IF (SUM.GT.500) EXIT OUTER
IF (SUM.GT.100) EXIT INNER
END DO INNER
SUM=SUM+I
I=I+10
END DO OUTER
PRINT *, 'SUM =',SUM
END