Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran 字符声明及其数据语句能否位于隐式语句之前?_Fortran_Fortran77 - Fatal编程技术网

Fortran 字符声明及其数据语句能否位于隐式语句之前?

Fortran 字符声明及其数据语句能否位于隐式语句之前?,fortran,fortran77,Fortran,Fortran77,FORTRAN是20世纪70年代我的第一种编程语言,但我无法确定下面的FORTRAN代码是否有效。我没有办法编译或运行代码 SUBROUTINE ABC(PARM1, PARM2) CHARACTER*40 projName DATA projName /'...values...'/ C大量评论… C变量声明从这里开始(确切的措辞) 所有的引用都说隐式语句必须出现在任何声明之前;然而,这段代码显然是运行的。我的想法是:(1)隐式语句被忽略,或者(2)这段代码在某种形

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

    SUBROUTINE ABC(PARM1, PARM2)
    CHARACTER*40 projName 
    DATA projName /'...values...'/
C大量评论…

C变量声明从这里开始(确切的措辞)

所有的引用都说隐式语句必须出现在任何声明之前;然而,这段代码显然是运行的。我的想法是:(1)隐式语句被忽略,或者(2)这段代码在某种形式的FORTRAN中是有效的。如果忽略IMPLICIT,编译标志也可以用于相同的目的

我需要判断我的答案是否正确,并简要说明我的答案是否正确。任何想法都将不胜感激

谢谢,
lac

字符类型是用Fortran 77引入的。Fortran 77第3.5节“语句和行的顺序”说“在程序单元的规范语句中,隐式语句必须位于除参数语句以外的所有其他规范语句之前。”

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

所述代码不符合要求


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

即使是较新的标准也只要求处理器“包含检测和报告”指定非标准的能力。默认情况下不需要这样做,并且大多数都接受至少一些扩展,除非您指定的选项经常涉及“严格标准”之类的词语。谢谢你们的回答。
    IMPLICIT REAL*8(A-H,O-Z)
    (the rest of the declarations)
    . . .