1

この「9999」がe20.8の前で何をしているのか、このFortran書き込みステートメントのラベルではわかりません。

コード内の他の行を参照していません。つまり、プログラムの他の場所に、それが参照する9999というラベルの付いた行はありません。

write(11,'(9999e20.8)') (9999.0, i=1,2*(numant+numunique))

私は困惑しています-私はグーグルのウェブ検索から答えを見つけられませんでしたが、私は書き込みステートメントの構文とフォーマットについての全体像を理解していると思います。

これは意味をなすのに十分な情報が提供されていますか?

4

1 に答える 1

3

これは繰り返し回数です。形式コードの一般的な形式は (count)(type)(format) です。たとえば、こちらのチュートリアルで説明されています。

C ベースの言語とは異なり、使用されていない書式設定コードは単純に無視されるため、この行は本質的に「次の出力リストにある数だけ、科学的な形式 (小数点以下 8 桁) で実数を書き出す」ことを示しています。(ハードコーディングされた「十分な大きさ」の数値を使用してこのようにするのが気に入らない場合は、「正しい」繰り返しコードを持つようにフォーマット文字列をプログラムで生成する必要があります。

出力リストは、9999.0回の数値を生成する暗黙の do ループです。2*(numant+numuniqe)

于 2012-10-31T16:56:44.523 に答える