|
|
发表于 2023-11-9 09:56:28
|
显示全部楼层
问题出在对于数组元素的比较上。在C语言中,不能直接使用连续的等于操作符进行多个值的比较。
正确的写法应该是使用逻辑与操作符(&&)来连接多个比较操作。
以下是修正后的代码:
- bool winArrays(char arr[3][3])
- {
- for (int i = 0; i < 3; i++)
- {
- if (arr[ i][0] == 'x' && arr[ i][1] == 'x' && arr[ i][2] == 'x')
- {
- return true;
- }
- else
- {
- break;
- }
- }
- for (int j = 0; j < 3; j++)
- {
- if (arr[0][j] == 'X' && arr[1][j] == 'X' && arr[2][j] == 'X')
- {
- return true;
- }
- else
- {
- break;
- }
- }
- return false;
- }
复制代码
修正后的代码中,使用逻辑与操作符(&&)连接了每个元素的比较操作,只有当所有的比较都为真时,才会返回true。 |
|