我正在控制台中开发扫雷游戏,想知道如何使用函数修改数组值?
我有一个全局char table[10][10];
,但它不能是全局的,我需要在启动程序时将大小更改为用户想要的大小。我还需要修改此函数中的 table
值:
int findnearbymines(int row, int col) {
int mines = 0;
if(table[row - 1][col] == '*')
mines++;
if(table[row + 1][col] == '*')
mines++;
if(table[row][col - 1] == '*')
mines++;
if(table[row][col + 1] == '*')
mines++;
if(table[row - 1][col + 1] == '*')
mines++;
if(table[row - 1][col - 1] == '*')
mines++;
if(table[row + 1][col + 1] == '*')
mines++;
if(table[row + 1][col - 1] == '*')
mines++;
return mines;
}
最佳答案
如果它不能是全局的,那么在确定矩阵的大小后,您必须在 main
函数中删除它。
阅读此处:C - reading command line parameters了解如何从命令行读取参数。在声明矩阵之前,您必须执行此操作。
对于您的函数,您必须将矩阵作为参数传递给函数,如下所示:
int findnearbymines(int row, int col, char** table, int width, int height)
您还需要在每个 if
语句中添加检查,以确保当玩家选择网格边缘的图 block 时不会超出矩阵的范围。
希望这有帮助!如果您需要进一步说明或有更多问题,请在评论中询问。
关于c - 如何使用函数修改数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344916/