gpt4 book ai didi

c - If 语句条件的问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:02 25 4
gpt4 key购买 nike

我正在学习 C,我的老师要求我的类(class)制作一个井字游戏。我设法做到了大部分,但我有点卡住了。我制作了一个函数,目的是逐行检查,如果发现所有行号都等于 1 或 2,则游戏循环会收到胜利号并停止。但是我在函数内部的 if 上设置的条件似乎有问题,我无法弄清楚它是什么。它不会将数字返回到游戏循环,即使一行是完整的数字。我已经尝试搜索 if 条件,但找不到我的错误。

函数如下:

int checkLines (int mat [3][3])
{

int i;
int victory;

for (i=0; i<3; i++)
{
if ((mat [i][0] ==1) && (mat [i][1] ==1) && (mat [i][2] ==1))
{
victory = 1;

} else if ((mat [i][0]==2) && (mat [i][1]==2) && (mat [i][2]==2))
{
victory = 2;

}else
{
victory = 0;
}

}
return victory;
}

最佳答案

这是因为一旦你设置了victory,你没有break退出循环,这意味着循环将继续,然后重置victoryelse 部分归零。

其实,不用设置victory跳出循环,直接return就可以了,循环结束后就知道自己没有“胜利”了,所以总是可以在那里返回 0

关于c - If 语句条件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30883330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com