我可以在 FUNCTION 中放置 WRITE 语句吗?

Can I put a WRITE statement in a FUNCTION?

提问人:Marco Antoniotti 提问时间:11/18/2023 最后编辑:francescalusMarco Antoniotti 更新时间:11/18/2023 访问量:58

问:

在这里做一些逆向计算。

问题很简单:我可以在 FUNCTION 中放置 WRITE 语句吗?似乎不是,cfr.,下面的代码片段

      INTEGER FUNCTION CURSED()
      I = 42
      WRITE(6, 2023) I
 2023 FORMAT('>>> In CURSED = ', I4)
      CURSED = I
      RETURN
      END

如果我调用此函数,程序将挂起。如果我注释掉 WRITE 和 FORMAT,一切似乎都很好。

chatGPT 说它在标准中,但它给出的参考是假的。:)

有什么适当的解释吗?

我在 MacOS 和 Windows 上用 gfortran 尝试过。

函数 Fortran

评论


答: 暂无答案