Fortran里面的一些问题我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)其中NX,NY,NZ都是提前定义好的PARAMETER (NX=33,NY=56,NZ=64)现在我想改成动态数组,于是出现问题了,我是这么修改的:DOUBLE PRECISION,allocatable::US_T1(:,:,:),US_T2(:,:,:)OPEN (111000,FILE='MOLD.BX')READ (111000,*)READ (111000,*)READ (111000,*) NX,NZ,NY\x05CLOSE(111000)allocate(US_T1(NX,NY,NZ),US_T2(NX,NY,NZ))然后出现了这样的问题:A specification statement cannot appear in the executable section

问题描述:

Fortran里面的一些问题
我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:
DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)
其中NX,NY,NZ都是提前定义好的PARAMETER (NX=33,NY=56,NZ=64)
现在我想改成动态数组,于是出现问题了,我是这么修改的:
DOUBLE PRECISION,allocatable::US_T1(:,:,:),US_T2(:,:,:)
OPEN (111000,FILE='MOLD.BX')
READ (111000,*)
READ (111000,*)
READ (111000,*) NX,NZ,NY
\x05CLOSE(111000)
allocate(US_T1(NX,NY,NZ),US_T2(NX,NY,NZ))
然后出现了这样的问题:
A specification statement cannot appear in the executable section