FORTRAN 77 Language Reference

Examples

Example 1: Nested DO loops:


       N = 0 
       DO 210 I = 1, 10 
       J = I 
       DO 200 K = 5, 1 
              L = K
              N = N + 1 
200 CONTINUE 
210 CONTINUE 
       WRITE(*,*)'I =',I, ', J =',J, ', K =',K, 
&              ', N =',N, ', L =',L
       END
demo% f77 -silent DoNest1.f
"DoNest1.f", line 4: Warning: DO range never executed
demo% a.out
I =  11, J =  10, K =  5, N =  0, L =  0
demo%

The inner loop is not executed, and at the WRITE, L is undefined. Here L is shown as 0, but that is implementation-dependent; do not rely on it.

Example 2: The program DoNest2.f (DO variable always defined):


       INTEGER COUNT, OUTER 
       COUNT = 0 
              DO OUTER = 1, 5 
                     NOUT = OUTER 
                     DO INNER = 1, 3 
                            NIN = INNER 
                            COUNT = COUNT+1 
                     END DO 
              END DO 
       WRITE(*,*) OUTER, NOUT, INNER, NIN, COUNT 
       END 

The above program prints out:


6 5 4 3 15