C++,Do While代码差异

0 c++

我刚刚开始学习C++,我对两个代码之间的区别有一个基本的问题.这是它在教学视频中的呈现方式:

int main()
{
   bool bPlayAgain = false:
   do {
       PrintIntro();
       PlayGame();
       bPlayAgain = AsktoPlayAgain();
   }
   while(bPlayAgain);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我使用以下方法获得了相同的结果:

int main()
{
    PrintIntro();
    do { 
       PlayGame(); 
    }
    while (AskToPlayAgain() == 1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当玩家输入是,如果他想再次玩或者如果输入任何其他东西则停止,则两者都重新启动游戏.使用第二个副作用是否有任何不良副作用?

vic*_*tor 6

我看到的唯一副作用是在第二个代码片段中,PrintIntro()函数只会被调用一次.每次用户决定再次播放时都不会调用它.