Fortran里面的一些问题我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)其中NX,NY,NZ都是提前定义好的P
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/13 21:29:33
![Fortran里面的一些问题我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)其中NX,NY,NZ都是提前定义好的P](/uploads/image/z/7981876-28-6.jpg?t=Fortran%E9%87%8C%E9%9D%A2%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E8%80%81%E7%A8%8B%E5%BA%8F%2C%E9%87%8C%E9%9D%A2%E6%9C%89%E5%87%A0%E4%B8%AA%E9%83%A8%E5%88%86%E6%98%AF%E8%AF%BB%E6%95%B0%E5%88%B0%E4%B8%80%E4%B8%AA%E6%95%B0%E7%BB%84%E4%B8%AD%2C%E4%BB%A5%E5%89%8D%E7%9A%84%E6%95%B0%E7%BB%84%E4%B8%8D%E6%98%AF%E5%8A%A8%E6%80%81%E7%9A%84%2C%E5%A4%A7%E8%87%B4%E7%B1%BB%E4%BC%BC%E4%BA%8E%E8%BF%99%E6%A0%B7%E7%9A%84%E5%AE%9A%E4%B9%89%EF%BC%9ADOUBLE+PRECISION+US_T1%28NX%2CNY%2CNZ%29%2CUS_T2%28NX%2CNY%2CNZ%29%E5%85%B6%E4%B8%ADNX%2CNY%2CNZ%E9%83%BD%E6%98%AF%E6%8F%90%E5%89%8D%E5%AE%9A%E4%B9%89%E5%A5%BD%E7%9A%84P)
Fortran里面的一些问题我有一个老程序,里面有几个部分是读数到一个数组中,以前的数组不是动态的,大致类似于这样的定义:DOUBLE PRECISION US_T1(NX,NY,NZ),US_T2(NX,NY,NZ)其中NX,NY,NZ都是提前定义好的P
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都是提前定义好的P
这句话的意思是,有一个声明语句,它不能在执行语句的部分.
一段Fortran代码,应该先是全部的声明语句,然后是全部的执行语句.
比如
real ::a
integer b
real ::c
a = b * 1.0
而不能是
real ::a
integer b
a = b * 1.0
real ::c