可以在一个或多个循环结构嵌套任何另一个循环结构。也可以把标签放到循环中。
语法
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