gpt4 book ai didi

fortran - CHARACTER 声明及其 DATA 语句可以出现在 IMPLICIT 语句之前吗?

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

FORTRAN 是我在 20 世纪 70 年代的第一个编程语言,但我无法确定以下 FORTRAN 代码是否有效。我无法编译或运行代码。

    SUBROUTINE ABC(PARM1, PARM2)
CHARACTER*40 projName
DATA projName /'...values...'/

C 很多评论...

C VARIABLE DECLARATIONS BEGIN HERE(确切的措辞)

    IMPLICIT REAL*8(A-H,O-Z)
(the rest of the declarations)
. . .

所有引用文献都说 IMPLICIT 语句必须位于任何声明之前;但是,这段代码显然可以运行。我的想法是(1)忽略 IMPLICIT 语句,或者(2)此代码在某些 FORTRAN 风格中是有效的。如果忽略 IMPLICIT,则编译标志可能已用于相同目的。

我需要决定有效/无效并简要证明我的答案。任何想法将不胜感激。

谢谢,紫胶

最佳答案

CHARACTER 类型是在 Fortran 77 中引入的。Fortran 77 第 3.5 节“语句和行的顺序”指出“在程序单元的规范语句中,IMPLICIT 语句必须位于除 PARAMETER 语句之外的所有其他规范语句之前。”

后来的标准中也存在类似的限制。

所描述的代码不符合要求。

(Fortran 77 不需要 Fortran 处理器来诊断甚至最基本的语言规则。编译器可能接受了不同的语句顺序作为扩展,或者偶然接受。)

关于fortran - CHARACTER 声明及其 DATA 语句可以出现在 IMPLICIT 语句之前吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58597889/

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