Fortran Coder

查看: 314|回复: 2

[求助] 语法求助!!1

[复制链接]

26

帖子

11

主题

0

精华

入门

F 币
74 元
贡献
63 点
发表于 2023-12-25 14:05:51 | 显示全部楼层 |阅读模式
5F 币
主程序
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
836a0f8d6565dc184e37687d4628315.png

1938

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1255 元
贡献
529 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

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

使用道具 举报

26

帖子

11

主题

0

精华

入门

F 币
74 元
贡献
63 点
 楼主| 发表于 2023-12-25 19:56:41 | 显示全部楼层
fcode 发表于 2023-12-25 14:27
因为 parameter 只说明是常量,并不说明其类型。
给你的建议:
1. 换一本新的Fortran教科书,而不是 FORTRA ...

好的,非常感谢您!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-2-25 12:55

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表