因为打印出来的是要给用户观察的
ROW COL 定义的为9
所以要打印9*9 的个格子
聪明的你要问了:怎么才能在11*11 的数组中打印9*9 的格子呢?
你: 我才没问呢 我都知道!
你: 只要在数组下标为1 的地方打印到下标10就可以啦
你真是个机灵鬼!!!
game.c
//打印
void DY(char LQu[ROWS][COLS], int row, int col)
{
int i = 0;
for (i = 0; i <= row; i++)
{
printf("%d ", i);
}
printf("\n");
for (i = 1; i <= row; i++)
{
int j = 0;
printf("%d ", i);
for (j = 1; j <= col; j++)
{
printf("%c ", LQu[i][j]);
}
printf("\n");
}
printf("\n");
}
上述代码 第一个循环 是打印出了每行的编号 为了方便观察
下面的代码 也在每一行的首元素打印了编号
最后for循环打印的数组初始化的内容
打印结果如下:DY(PCha, ROW, COL);
共有10个雷
0 1 2 3 4 5 6 7 8 9
1 * * * * * * * * *
2 * * * * * * * * *
3 * * * * * * * * *
4 * * * * * * * * *
5 * * * * * * * * *
6 * * * * * * * * *
7 * * * * * * * * *
8 * * * * * * * * *
9 * * * * * * * * *
针对问题描述,参考资料中的代码无关,给出以下解决方案:
查找与修改代码中的行数和列数相关的部分,检查是否有错误。可以考虑使用调试工具进行查找,比如Visual Studio的调试工具。
可能出现的错误有:
(1) 行列数值被修改为10,但没有对相应的部分进行修正导致传回的结果是10。
(2) 代码中使用了全局变量或者存在指针问题,导致出现意外的结果。
总之,出现此类问题,可以通过仔细排查代码进行修改,或者重新设计代码来解决。