如何提前退出while循环

How to exit the while loop earlier

本文关键字:循环 while 退出 何提前      更新时间:2023-10-16

我编写了这个小c++程序来实现tic-tac-toe。然而,我遇到了一个小问题,当比赛结束时,我无法终止比赛。

int main(){
    bool a= true;
    while (a){
        int x,y,x1,y1;
        std::cout<<"player 1 move"<<'n';
        std::cin>>y>>x;
        player1(x,y);
        printboard();
        if (game_finished()){
            std::cout<<"player 1 won"<<'n';
            a = false;
            }
        std::cout<<"player 2 move"<<'n';
        std::cin>>y1>>x1;
        player2(x1,y1);
        printboard();
        if (game_finished()){
            std::cout<<"player 2 won"<<'n';
            a = false;
        }
    }

因此,例如,当玩家1赢得游戏时,程序仍然会要求玩家2在终止while循环之前再移动一次。解决办法似乎很简单,但我现在想不出来。欢迎提供任何意见。

break语句将退出循环。

您可以使用break语句。

也就是说,他们通常不鼓励,因为这会使以后更难理解代码。我会坚持将第二步logc放在else分支中。