我试图理解别人编写的 Fortran 代码。代码正在做它应该做的事情,所以我假设它工作正常。一个名为“fft”的子程序被另一个名为“convol”的子程序调用。在“convol”中,数组声明如下:
real, dimension fri(n+1,n,nh,2,0:1)
call fft(fri)
在“fft”内部,声明是这样的:
subroutine wrft3b(fri)
real, dimension fri(2,n+1,n,nh,0:1)
我不明白为什么数组长度不一致并且代码仍然有效。有什么线索可能会在这里发生吗?