可以在一个或多个循环结构嵌套任何另一个循环结构。也可以把标签放到循环中。
iloop: do i = 1, 3
print*, "i: ", i
jloop: do j = 1, 3
print*, "j: ", j
kloop: do k = 1, 3
print*, "k: ", k
end do kloop
end do jloop
end do iloop
实例
program nestedLoop
implicit none
integer:: i, j, k
iloop: do i = 1, 3
jloop: do j = 1, 3
kloop: do k = 1, 3
print*, "(i, j, k): ", i, j, k
end do kloop
end do jloop
end do iloop
end program nestedLoop
当上述代码被编译和执行时,它产生了以下结果:
(i, j, k): 1 1 1 (i, j, k): 1 1 2 (i, j, k): 1 1 3 (i, j, k): 1 2 1 (i, j, k): 1 2 2 (i, j, k): 1 2 3 (i, j, k): 1 3 1 (i, j, k): 1 3 2 (i, j, k): 1 3 3 (i, j, k): 2 1 1 (i, j, k): 2 1 2 (i, j, k): 2 1 3 (i, j, k): 2 2 1 (i, j, k): 2 2 2 (i, j, k): 2 2 3 (i, j, k): 2 3 1 (i, j, k): 2 3 2 (i, j, k): 2 3 3 (i, j, k): 3 1 1 (i, j, k): 3 1 2 (i, j, k): 3 1 3 (i, j, k): 3 2 1 (i, j, k): 3 2 2