1

他の人が書いた 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) 

配列の長さが一貫していないのに、コードが機能している理由がわかりません。ここで何が起こっているのか手がかりはありますか?

4

1 に答える 1

1

重要なのは、長さが同じであることです。インターフェイスが明示的でない場合、連続する明示的な形状の配列に対してエラーはスローされません。配列の要素のみが、呼び出し元のプログラムとは異なるインデックス (列優先順で決定) を持ちます。

于 2013-03-01T08:45:50.310 に答える