感谢了各位
遇到了一个不解之谜
本人在肝三子棋游戏代码的时候
在打印棋盘函数里面遇到了自己解决不了的问题
借鉴了许多代码 还有自己的逻辑思考还是没能想出来是为什么
求各位解答一下[感动]
```c
void DisplayBoard(char board[ROW][COL], int row, int col)
{
int i = 0;
for (i = 0; i < row; i++) //初始化不能省略
{
int j = 0;
for (j = 0; j < col; j++) //初始化不能省略
{
{
printf(" %c ", board[i][j]);
if ( j < col -1 )
printf("|");
}
printf("\n");
if (i < col - 1)
{
for (j = 0; j < col; j++) //初始化不能省略
{
printf("---");
if ( j < col - 1)
printf("|");
}
printf("\n");
}
}
}
}

```
修改如下,供参考:
#include <stdio.h>
#define ROW 3
#define COL 3
void DisplayBoard(char board[][COL], int row, int col)
{
int i = 0, j = 0;
for (i = 0; i < row; i++)//初始化不能省略
{
for (j = 0; j < col; j++)//初始化不能省略
{
printf(" %c ", board[i][j]);
if (j < col - 1)
printf("|");
}
printf("\n");
if (i < col - 1)
{
for (j = 0; j < col; j++)//初始化不能省略
{
printf("---");
if (j < col - 1)
printf("|");
}
printf("\n");
}
}
}
int main()
{
int row = 3, col = 3;
char board[ROW][COL] = {'0','1','2','3','4','5','6','7','8'};
DisplayBoard(board, row, col);
return 0;
}