我有一个如下所示的 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...
}
或者如果我应该“继续”而不是“返回”?