我认为Fortran中数组的第一个索引是1.但为什么这个代码有效?(代码是Wavewatch的修改部分,http://polar.ncep.noaa.gov/waves/wavewatch/ )
DO KINDEX=0, TOTAL+1
NUM = NUM * SCALE
SIG (KINDEX) = NUM
END DO
Run Code Online (Sandbox Code Playgroud) 我正在尝试理解传递给我的一些Fortran代码.这是子例程中的参数列表:
INTEGER, INTENT(IN) :: NKT
REAL, INTENT(IN) :: NW2(NKT), VAR, SUE
REAL, INTENT(INOUT) :: MYSPC(NKT,NKT)
Run Code Online (Sandbox Code Playgroud)
我理解NKT,VAR和SUE的声明.但NW2(NKT),MYSPC(NKT,NKT)中"(NKT)"和"(NKT,NKT)"的含义是什么?NKT是否指定了阵列NW2和MYSPC的尺寸?或者是说子程序将传递的值存储在NW2的NKTth位置?
我真的对变量之后的()的使用感到困惑.Nyhoff的"FORTRAN 90简介"一书中没有涉及它.任何帮助,将不胜感激.
(代码是Wavewatch的修改部分,http://polar.ncep.noaa.gov/waves/wavewatch/ )