当前位置: > Fortran里面的一些问题...
题目
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

提问时间:2021-01-02

答案
这句话的意思是,有一个声明语句,它不能在执行语句的部分.
一段Fortran代码,应该先是全部的声明语句,然后是全部的执行语句.
比如
real ::a
integer b
real ::c
a = b * 1.0
而不能是
real ::a
integer b
a = b * 1.0
real ::c
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.