几年前简单介绍了Fortran77后,我正在学习Fortran90。在 Fortran 中打印整数时,您必须指定要为打印整数保留多少空间。考虑这个程序...
implicit none
integer :: i
i = 123
write(*, '(A, I3, A)') "'", i, "'" !3 spaces for output = no padding
write(*, '(A, I5, A)') "'", i, "'" !5 is too many, so output is padded
write(*, '(A, I2, A)') "'", i, "'" !2 is too few, so output is jibberish
write(*, '(A, I:, A)') "'", i, "'" !Default behavior
end program
...生成以下输出。
'123'
' 123'
'**'
' 123'
当我不知道整数中有多少位时,如何为整数打印分配正确的空间量?
更新:如果您的编译器符合 F95,您可以使用I0
编辑描述符(即,在上面的示例中放置函数'(A, I0, A)'
的第二个参数write
。谢谢@janneb!