#includegamehvoid Initboardchar boardROWSCOLSint rowsint colschar set int j = 0; int i = 0; for i = 0; i rows; i++ for j = 0; j cols; j++ boardij = set; void Displayboardchar boardROWCOL int
这段代码中存在以下错误:
-
函数声明和定义中,数组的行数不一致。函数声明中的行数为 ROWS,而函数定义中的行数为 ROW。
-
函数 Displayboard() 中,外层循环的条件应该是 i < row,而不是 i <= row。因为数组的下标是从0开始的,所以最大下标为 row-1。
-
函数 Setmine() 中,生成随机数的范围应该是 0~row-1 和 0~col-1,而不是 1~row 和 1~col。因为数组的下标是从0开始的。
-
函数 get_mine_count() 中,应该先判断坐标是否越界,再计算周围雷的数量。如果坐标越界,会导致程序崩溃。
-
在函数 FindMine() 中,当猜测的坐标不是雷时,应该将周围雷的数量显示出来,而不是将统计结果赋值给 show 数组。因为 show 数组是用来显示当前已排查出的雷的,而不是用来存储周围雷的数量的。同时,统计周围雷的数量时,应该先判断周围的坐标是否越界,再计算雷的数量。
原文地址: https://www.cveoy.top/t/topic/hoU1 著作权归作者所有。请勿转载和采集!