我试图弄清楚为什么会跳过这种情况。这是一个二维数组,它是非常自我解释的是什么被比较。这里的代码首先是解释。
if ((reversed[i][j] == true) && (circle[i][j] == 'C'))
{
reversed[i][j] == false;
}
else if (circle[i][j] == 'C')
reversed[i][j] == true;
问题在于,如果它是真的,它会跳过其他人;我在代码之前使用cout进行了测试,我说:
cout<<circle[i][j];
它显示它确实是&#39; C&#39;这很奇怪,我从来没有见过这样的东西。我希望我能找到一些简单的东西。
圈定义如下:
char **circle;
circle = new char *[SIZE];
for (int i = 0; i < SIZE; i++)
circle[i] = new char[SIZE];
答案 0 :(得分:7)
你确定要写吗
if ((reversed[i][j] == true) && circle[i][j] == 'C'))
{
reversed[i][j] == false;
}
else if (circle[i][j] == 'C')
reversed[i][j] == true;
而不是这个?
if ((reversed[i][j] == true) && circle[i][j] == 'C')
{
reversed[i][j] = false; // assignment here
}
else if (circle[i][j] == 'C')
reversed[i][j] = true; // assignment here