【发布时间】:2015-04-11 00:58:47
【问题描述】:
我想在 fortran 90 中使用自动整数宽度描述符。我提到了Output formatting: too much whitespace in gfortran
这个问题说我可以将I0 和F0,0 用于“自动”宽度。
这是我的示例代码(符合 GNU Fortran 编译器):
PROGRAM MAIN
IMPLICIT NONE
INTEGER :: i
REAL :: j
WRITE (*,*) 'Enter integer'
READ (*,100) i
100 FORMAT (I0)
WRITE (*,*) 'Enter real'
READ (*,110) j
110 FORMAT (F0.0)
WRITE (*,100) 'Integer = ',i
WRITE (*,110) 'Real = ',j
END PROGRAM
存在运行时错误(unit = 5, file = 'stdin')
Fortran runtime error: Positive width required in format
我是否误解了自动宽度描述符?我应该使用什么选项?
【问题讨论】:
-
只在读取上列出定向 i/o (
read(*,*)) -
我在建议stackoverflow.com/q/21170031 重复和回答之间纠结。最后,我认为对重点问题明确声明“没有
I0”是明智的。 -
请注意,
I0描述符是在 Fortran 95 修订版中添加到 Fortran 标准的 - Fortran 90(第 10.2.1 节)要求整数编辑描述符的宽度为正数。
标签: fortran gfortran fortran90 fortran95