【发布时间】:2012-01-18 14:32:39
【问题描述】:
这应该很简单,但我无法在 Fortran 中读取浮点数。我的程序 test.f 看起来像这样:
PROGRAM TEST
open(UNIT=1,FILE='test.inp')
read(1,'(f3.0)')line
STOP
END
输入文件test.inp 只包含一个浮点数:1.2
现在我的测试文件编译正常,但是当我运行它时出现错误:
在文件 test.f 的第 4 行 (unit = 1, file = 'test.inp')
Fortran 运行时错误:格式化传输中第 1 项的预期为 REAL,得到 INTEGER
(f3.0)
^
我尝试了对代码的不同修改,并在谷歌上搜索了错误消息,但没有结果。任何帮助将不胜感激!
问候, 弗兰克
【问题讨论】:
-
虽然这不能回答问题,但您确实应该声明您使用的所有变量的类型。在您的代码中,您没有说明
line的类型。将行implicit none包含在程序、函数、子例程或模块的顶部(在任何use语句之前)是一种很好的做法。您使用的隐式类型声明可能会导致许多令人讨厌的、难以发现的错误。 -
这确实回答了这个问题。
标签: fortran