假设我想写一个游戏(用 C 语言),询问用户他是否想在游戏结束后再次玩。
我看到了两种明显的写法。
第一的:
int main(void)
{
/* variable declarations and initializations */
do { /* optionally multiple games */
/* game code here */
........
/* prompt user wheter he wants to play again */
bool playagain = playagain();
} while(playagain);
.....
}
第二:
int main(void)
{
/* variable declarations and initializations */
game_start: /* optionally multiple games */
/* game code here */
........
/* prompt user wheter he wants to play again */
bool playagain = playagain();
if (playagain)
goto game_start;
.....
}
我知道通常使用 goto 语句是一个坏主意,但我认为这里它使代码更清晰,并使我们免于额外的缩进级别。
所以我的问题是,这个特定的例子是否被认为是使用 goto 语句的正确方法,还是我应该避免它?