这是相关的功能:
int computerChoice() {
int x, y;
for (y=0;y<=2;y++) {
for (x=0;x<=2;x++) {
if (matrix[y][x] == 'a') {
return(1);
} else {
matrix[y][x] = 'b';
return(0);
}
}
}
}
这是相关的main()
代码:
char matrix[3][3];
int duplicate1 = 0;
do {
duplicate1 = computerChoice();
} while(duplicate1 == 1);
我正在尝试扫描一个3x3
二维数组并依次检查每个数组是否等于"a"
. 如果是这样,我希望函数返回 a"1"
并继续检查。一旦它找到一个不等于"a"
它的条目,应该将该条目设置为等于 b,返回 0 并停止循环。
我得到了一些非常奇怪的结果。如果其中[1][1]
有一个"a"
,则该函数什么也不做,只是“冻结”。如果其中[2][2]
有 a "a"
,则该函数正确地将 a"b"
放置在 entry 中[1][1]
。
如果已经填写了其他条目,也会发生这种情况。
有什么想法吗?