У меня есть фрагмент 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, верно ли это?
Я переводил это на С# и задаюсь вопросом, эквивалентно ли это:
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...
}
или если мне нужно "продолжить" вместо "return"?