Fortran 出现1错误时的不可分类语句

Fortran 出现1错误时的不可分类语句,fortran,fortran90,gfortran,freeform,Fortran,Fortran90,Gfortran,Freeform,我正在用Fortran90编写代码。我有以下代码: subroutine QualModel(CCS, TI, AIdex,t_max) use Global implicit none DOUBLE PRECISION :: CCS, TI, AIdex DOUBLE PRECISION,DIMENSION(10) :: t_max CCS = 0.0 TI = 0.0 AIdex = 0.0 CCS = & 24.36597157615 + & (-6.568940159

我正在用Fortran90编写代码。我有以下代码:

subroutine QualModel(CCS, TI, AIdex,t_max)
use Global
implicit none
DOUBLE PRECISION :: CCS, TI, AIdex
DOUBLE PRECISION,DIMENSION(10) :: t_max

CCS = 0.0
TI = 0.0
AIdex = 0.0

CCS = &
24.36597157615 + &
(-6.56894015990892) * (ustrand * 60.0)
当我试图编译它时,我在第1行的
Unclassifiable语句的
CCS=&
处得到了错误。


有人能告诉我怎么解决这个问题吗?我也问过其他问题,但大多数问题都提出了偏执问题,但这里没有这样的问题。

正如Vladimir F在评论中指出的,文件后缀在Fortran代码中很重要,可以告诉编译器如何解释代码

您发布的代码遗漏了一些变量声明(
ustrand
),使用了我没有的模块(
Global
),并且遗漏了
结尾。但是,如果我使用与您非常相似的以下代码

subroutine QualModel(CCS, TI, AIdex,t_max)
implicit none
DOUBLE PRECISION :: CCS, TI, AIdex,ustrand
DOUBLE PRECISION,DIMENSION(10) :: t_max

CCS = 0.0
TI = 0.0
AIdex = 0.0

CCS = &
24.36597157615 + &
(-6.56894015990892) * (ustrand * 60.0)
end
使用
.f
/
.f90
后缀时,编译不同,如下所示。请注意,如果必须在文件中使用
.f
后缀,则可以使用
gfortran
编译器的
-ffree form
选项来告诉它接受此输入

$ gfortran --version | head -n 2
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright (C) 2015 Free Software Foundation, Inc.

$ gfortran -c test.f90
$ gfortran -c test.f
test.f:1.1:
subroutine QualModel(CCS, TI, AIdex,t_max)
1
Error: Non-numeric character in statement label at (1)
test.f:1.1:

subroutine QualModel(CCS, TI, AIdex,t_max)
1
Error: Unclassifiable statement at (1)
test.f:2.1:
<... omitted remaining errors ...>

$ gfortran -c -ffree-form test.f
$gfortran——版本|头-n2
GNU Fortran(GCC)4.8.5 20150623(红帽4.8.5-4)
版权所有(C)2015免费软件基金会。
$gfortran-c test.f90
$gfortran-c测试.f
试验f:1.1:
子程序质量模型(CCS、TI、AIdex、t_max)
1.
错误:位于(1)的语句标签中的非数字字符
试验f:1.1:
子程序质量模型(CCS、TI、AIdex、t_max)
1.
错误:位于(1)的不可分类语句
试验f:2.1:
$gfortran-c-ffree form test.f

您的文件后缀是什么?您使用自由格式还是固定格式源?有很多(很多!)类似的问题,你看过吗?编译的确切命令行是什么样子的?问题是错误消息不同。你只是在猜测~这取决于你,但我通常会尝试从OP中获取一些信息,以明确问题的来源。第一行第一个字符的问题似乎表明@Harald解决了问题。错误消息出现在(虽然在另一行,OP指出的那行错误是下面几行)但我同意你的看法,我应该向OP请求更多信息。@Holmz是的,这是非常可能的,这就是为什么我以我的方式询问评论。如果是这样的话,它应该作为副本关闭,而不是回答(IMHO)。