gpt4 book ai didi

fortran - 在 Fortran 中读取 float 时出错

转载 作者:行者123 更新时间:2023-12-02 07:43:43 26 4
gpt4 key购买 nike

这应该很简单,但我无法在 Fortran 中读入 float 。我的程序 test.f 看起来像这样:

  PROGRAM TEST
open(UNIT=1,FILE='test.inp')
read(1,'(f3.0)')line

STOP
END

输入文件 test.inp 只包含一个 float :1.2

现在我的测试文件编译正常,但是当我运行它时出现错误:

At line 4 of file test.f (unit = 1, file = 'test.inp')

Fortran runtime error: Expected REAL for item 1 in formatted transfer, got INTEGER

(f3.0)

^

我已尝试对代码进行不同的修改,并在谷歌上搜索错误消息,但没有结果。任何帮助将不胜感激!

问候,弗兰克

最佳答案

您的变量 line 被隐式定义为整数。这不适用于 f 编辑描述符。如果您想读取整数,请使用 i 编辑描述符(例如 i3)。否则将 line 声明为实数以计算“f”描述符。

注意:.0 不是问题,因为如果 Fortran 得到一个带小数点的数字,描述符中的 .0 部分将被忽略。它仅在输入一个没有小数点的数字时使用,然后使用描述符中小数点后面的数字将小数点添加到正确的位置。对于 F8.5123456789 被读取为 123.45678。更多关于这里 http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/lref_for/source_files/pghredf.htm

关于fortran - 在 Fortran 中读取 float 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com