Fortran Coder

标题: 语法求助!!1 [打印本页]

作者: 顺利就好    时间: 2023-12-25 14:05
标题: 语法求助!!1
主程序
Program Main

  include "constant.fi"
  Integer I,J,K,ITER,IDay,IT,time  !7.8

  Real LON_st, LON_loc,LAT  !rT(1:24)  rT(1:NMONTH,1:NHOUR)
  Real TT_AIR(1:Amm*Bmm*Cmm,1:NHOUR),T_air(1:Amm*Bmm*Cmm),rT_room_air(1:Amm*Bmm*Cmm,1:NHOUR) ————————报错行

报错语句:error FOR3093: array bound is not integer scalar

原因是因为数组索引需要整数,但是在文件中我已经把它们(Amm,Bmm,Cmm)设置成整数了,PARAMETER(Amm=3) ,PARAMETER(Bmm=3),PARAMETER(Cmm=3),为什么后面主程序的数组还会报错呢?


36344b2acc185ddf8c69c03ff44f141.png (156.63 KB, 下载次数: 223)

36344b2acc185ddf8c69c03ff44f141.png

836a0f8d6565dc184e37687d4628315.png (64.86 KB, 下载次数: 216)

836a0f8d6565dc184e37687d4628315.png

作者: fcode    时间: 2023-12-25 14:27
因为 parameter 只说明是常量,并不说明其类型。
给你的建议:
1. 换一本新的Fortran教科书,而不是 FORTRAN教科书。注意书名要大小写混合的,不要全部大写的。
2. 换一个编译器,不要使用 compaq 这种1990年代的产品。推荐 Intel OneAPI 或者 gfortran
3. 要写 Implicit None
4. parameter 不要单独写,使用类似:
integer , parameter :: N = 3
real , parameter :: pi = 3.1415926
的形式。
作者: 顺利就好    时间: 2023-12-25 19:56
fcode 发表于 2023-12-25 14:27
因为 parameter 只说明是常量,并不说明其类型。
给你的建议:
1. 换一本新的Fortran教科书,而不是 FORTRA ...

好的,非常感谢您!!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2