Fortran 90 is not block structured, all DO variables are visible after the loop and have a specific value. The index variable is recalculated at the top of the loop and then compared with < expr2 >, if the loop has finished, execution jumps to the statement after the corresponding END DO. The loop is executed three times and i is assigned to 4 times, the index variable will retain the value that it had just been assigned. For example,
DO i = 4, 45, 17 PRINT*, "I in loop = ",i END DO PRINT*, "I after loop = ",i
will produce
I in loop = 4 I in loop = 21 I in loop = 38 I after loop = 55
Elsewhere in program the index variable may be used freely but in the loop it can only be referenced and must not have its value changed.
Return to corresponding overview page