次のような Fortran77 スニペットがあります。
DO 1301 N=NMLK-2,2,-1
Some code...
IF(NB1(N).EQ.50) GOTO 1300
Some code...
IF(BS(N).EQ.0.0) GOTO 1301
some code...
GOTO 1301
1300 NW(M)=NB1(N)
Some code...
1301 CONTINUE
これが GOTO 1301 ステートメントにヒットすると、ループの次の繰り返しにジャンプするか、それともループを終了しますか? 私が理解している限りでは、return キーワードは何もしないので、これはループを終了し、ラベル 1301 からコードの実行を続行すると思いますが、それは正しいですか?
私はこれをC#に翻訳していますが、これが同等かどうか疑問に思っています:
for (N = NMLK; N >= 2; N--)
{
Some code...
if (NB1[N] == 50)
goto l1300;
Some code...
if (BS[N] == 0)
return;
Some code...
return;
l1300:
NW[M] = NB1[N];
Some code...
}
または、「戻る」の代わりに「続行」する必要がある場合は?