我有一段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...
}
我应该使用"continue"而不是"return"吗?