我想要摆脱这个goto
语句。有没有人能告诉我同样的逻辑?下面的代码不是我要修改的确切代码,但它将支持我的问题。请在评论此帖时不要问代码的意义,因为它只是一个例子。
int result[i][j];
for (int i = 0; i<100; i++)
{
for (j = 0; j<100; j++)
{
result[i][j] = j++;
if (j == 80)
goto break1;
}
}
break1:
…;
for (j = 0; j < 80; j++)
。问题的更一般版本是什么?它可能是if (j == function(i, j)) goto break1;
吗?如果是这样,那么goto
是合理的。否则,你必须使用一个标志和一个break
语句。(顺便说一下,goto
不是一个“调用”;它是一个语句。) - Jonathan Lefflerint result[i][j];
改为int result[100][100];
。 - Keith Thompson