0

悪いニュース 皆さん、

私は最近、コードを理解し、それを C++ に変換するために FORTRAN を学び始めました (
コードが何をするかはこの質問にとって重要ではないことはわかっていますが、背景を説明するために、
このコードは適応グリッドで選点法を使用して境界値の問題を解決します)。
コードを見ると、特定の「go to」ステートメントと「do continue」が組み合わされており
、本当に混乱しています。

次に例を示します。

do 100 i=1, n
    C DO SOMETHING HERE
    if (some condition) go to 90
    C DO SOME MORE STUFF HERE
    90 continue
    C EVEN MORE STUFF HERE
100 continue

私は C でプログラミングした経験があるので、次のように C で 2 つの解釈をコーディングします
が、どちらが正しい翻訳なのか (もしあれば!) はわかりません。

for(int i=1;i<=n;i++)
{
    //DO SOMETHING HERE
    if(some condition) continue;
    //DO SOME MORE STUFF HERE
    //EVEN MORE STUFF HERE
}

また:

for(int i=1;i<=n;i++)
{
    //DO SOMETHING HERE
    if(!some condition)
    {
        //DO SOME MORE STUFF HERE
    }
    //EVEN MORE STUFF HERE
}

誰かが構文を理解するのを手伝ってくれるかどうか疑問に思っていました.

4

1 に答える 1

4

Fortranのcontinueステートメントは何もしません。ジャンプするための参照としてのみ存在します。Fortran コードでは、プログラムは isのDO SOME MORE STUFF HERE場合にジャンプします。したがって、2 番目の C バージョンは正しいです。some conditiontrue

于 2013-02-06T22:43:49.417 に答える