【发布时间】:2015-11-13 15:36:28
【问题描述】:
程序的上下文是一个涉及钉子和圆盘的游戏。用户输入钉子的数量(最多 20 个)和每个钉子上的圆盘数量(最多 10 个)。考虑到有足够的圆盘可以移出该圆盘,两名玩家每回合来回移除单个圆盘上的任意数量的圆盘。取出最后一张光盘的玩家输了。
光盘的数量存储在一个数组中,其中数组的索引对应于 peg 编号。我有一个布尔函数,可以检查钉子是否没有光盘,这意味着有人赢了。我的代码中有一些逻辑错误,但我无法弄清楚它是什么:
bool checkPegs(int array[], int size)
{
int checker(0);
for (int i = 0; i < size; i++)
{
if(array[i] = 0)
{
return true;
}
else
{
return false;
}
}
}
【问题讨论】:
-
if(array[i] == 0)而不是if(array[i] = 0)? -
=是赋值,你想一直循环直到第一个非零值或结束。