数组打印的格式描述符
Format descriptors for array printing
我试图在 Fortran (95) 中打印维度 (n, m)
的整数数组。当我使用以下技术格式化输出时,它起作用了:
write (*, '(nIw)') array
不知何故,它自动将每一行移动到下一行,每一行都使用相同的格式描述符。 (?)
但在这种情况下,为什么不起作用?
write (*, 100) array
100 FORMAT('nIw')
这两种方法有什么不同?
您的 FORMAT 100
写得不正确:您试图打印一个字符串“nIw
”,而不是一个数字。看看这个例子:
program print_integer
implicit none
character(*), parameter :: fmt_int = '(10I3)'
integer :: j,array(10) = [(j,j=1,10)]
write(*,fmt_int) array
write(*,'(10I3)') array
write(*, 100) array
write(*, 200) array ! WRONG FORMAT
100 format(10I3)
200 format('10I3')
end program print_integer
我试图在 Fortran (95) 中打印维度 (n, m)
的整数数组。当我使用以下技术格式化输出时,它起作用了:
write (*, '(nIw)') array
不知何故,它自动将每一行移动到下一行,每一行都使用相同的格式描述符。 (?)
但在这种情况下,为什么不起作用?
write (*, 100) array
100 FORMAT('nIw')
这两种方法有什么不同?
您的 FORMAT 100
写得不正确:您试图打印一个字符串“nIw
”,而不是一个数字。看看这个例子:
program print_integer
implicit none
character(*), parameter :: fmt_int = '(10I3)'
integer :: j,array(10) = [(j,j=1,10)]
write(*,fmt_int) array
write(*,'(10I3)') array
write(*, 100) array
write(*, 200) array ! WRONG FORMAT
100 format(10I3)
200 format('10I3')
end program print_integer