这个报错是什么意思,弄了好久没弄好

img

头文件部分:
#define _CRT_SECURE_NO_WARNINGS 1
#define LINE 11//行数
#define ROW 11//列数
#define NUM 10//雷数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void printmenu();//菜单
void introduce();//介绍说明
void printboard(char arr[LINE][ROW]);//打印棋盘
void resetarr(char arr[LINE][ROW],char ch);//初始化数组
void deposit1(char deposit[LINE][ROW]);//埋雷
void check(char deposit[LINE][ROW], char view[LINE][ROW]);//玩家排查雷时用到,显示每个坐标周围雷数(该坐标变成与雷数挂钩的数字),后面为输入的坐标

源文件部分:
#include”扫雷.h”
void resetarr(char arr[LINE][ROW], char ch)//初始化view,deposit
{
char n = '0'; char n1 = '0';
for (int i = 0; i < LINE; i++)
{
arr[0][i] = '0';
arr[i][0] = '0';
}
for (int i = 1; i < LINE; i++)
{
arr[1][i] = n;
arr[i][1] = n1;
n++;
n1++;
}
for (int i = 2; i < LINE; i++)
{
for (int j = 2; j < ROW; j++)
{
arr[i][j] = ch;
}
}
}
void printboard(char arr[LINE][ROW])
{
for (int i = 1; i < ROW; i++)
{
for (int j = 1; j < LINE; j++)
{
printf("%c ", arr[i][j]);
}
printf("\n");
}
}
void deposit1(char deposit[LINE][ROW])//LINE=11;ROW=11
{
int x = NUM;
srand((unsigned)time(NULL));
do
{
int line = rand() % 9 + 2;
int row = rand() % 9 + 2;
if (deposit[line][row] == '0')
{
deposit[line][row] = '#';
x--;
}
} while (x);
}
void check(char deposit[LINE][ROW], char view[LINE][ROW])
{
int n = 0;//我们在这里设置的棋盘是99的,有十个雷,所以当排查到第71个都不是雷的时候游戏就赢了
//玩家输入第二行第二列,对应的是我们数组中的第四行,第四列,即deposit[3][3]
int x, y;
printf("开始扫雷!\n");
while (1)
{
printf("请输入坐标行列数:");
scanf("%d %d", &x, &y);
char num='0';//记录雷数
if (deposit[x + 1][y + 1]=='#')
{
printf("您踩到地雷了,游戏结束,bye~~");
//打印出deposit给玩家看雷在哪
printboard(deposit[LINE][ROW]);
exit(1);
}
else
{
if (deposit[x][y] == '#')
{
num++;
}
else if (deposit[x][y + 1] == '#')
{
num++;
}
else if (deposit[x][y + 2] == '#')
{
num++;
}
else if (deposit[x + 1][y] == '#')
{
num++;
}
else if (deposit[x + 1][y + 2] == '#')
{
num++;
}
else if (deposit[x + 2][y] == '#')
{
num++;
}
else if (deposit[x + 2][y + 1] == '#')
{
num++;
}
else if (deposit[x + 2][y + 2] == '#')
{
num++;
}
n++;//表示成功排查掉一个
view[x + 1][y + 1] =num;
//将玩家选择的坐标周围的雷数呈现出来
printboard(view[LINE][ROW]);
//当所有坐标都排查完时跳出循环,游戏胜利
if (n == ((LINE - 2) * (ROW - 2) - NUM))
{
break;
}
}
}
printf("恭喜你,排除掉了所有的雷,游戏胜利!\n");
}
int main()
{
char view[LINE][ROW];//玩家真正排雷的地方
char deposit[LINE][ROW];//布置雷,在判断玩家是否有踩到雷时根据这个数组来判断
//先对数组进行初始化
resetarr(view,'
');
resetarr(deposit,'0');
printboard(view);
printf("\n");
printboard(deposit);
deposit1(deposit[LINE][ROW]);
}

修改处见注释,供参考:

#define _CRT_SECURE_NO_WARNINGS 1
#define LINE 11//行数
#define ROW 11//列数
#define NUM 10//雷数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void printmenu();//菜单
void introduce();//介绍说明
void printboard(char arr[LINE][ROW]);//打印棋盘
void resetarr(char arr[LINE][ROW],char ch);//初始化数组
void deposit1(char deposit[LINE][ROW]);//埋雷
void check(char deposit[LINE][ROW], char view[LINE][ROW]);//玩家排查雷时用到,显示每个坐标周围雷数(该坐标变成与雷数挂钩的数字),后面为输入的坐标

//源文件部分:
//#include”扫雷.h”
void resetarr(char arr[LINE][ROW], char ch)//初始化view,deposit
{
    char n = '0'; char n1 = '0';
    for (int i = 0; i < LINE; i++)
    {
        arr[0][i] = '0';
        arr[i][0] = '0';
    }
    for (int i = 1; i < LINE; i++)
    {
        arr[1][i] = n;
        arr[i][1] = n1;
        n++;
        n1++;
    }
    for (int i = 2; i < LINE; i++)
    {
        for (int j = 2; j < ROW; j++)
        {
            arr[i][j] = ch;
        }
    }
}
void printboard(char arr[LINE][ROW])
{
    for (int i = 1; i < ROW; i++)
    {
        for (int j = 1; j < LINE; j++)
        {
            printf("%c ", arr[i][j]);
        }
        printf("\n");
    }
}
void deposit1(char deposit[LINE][ROW])//LINE=11;ROW=11
{
    int x = NUM;
    srand((unsigned)time(NULL));
    do
    {
        int line = rand() % 9 + 2;
        int row  = rand() % 9 + 2;
        if (deposit[line][row] == '0')
        {
            deposit[line][row] = '#';
            x--;
        }
    }while (x);
}
void check(char deposit[LINE][ROW], char view[LINE][ROW])
{
    int n = 0;//我们在这里设置的棋盘是99的,有十个雷,所以当排查到第71个都不是雷的时候游戏就赢了
              //玩家输入第二行第二列,对应的是我们数组中的第四行,第四列,即deposit[3][3]
    int x, y;
    printf("开始扫雷!\n");
    while (1)
    {
        printf("请输入坐标行列数:");
        scanf("%d %d", &x, &y);
        char num='0';//记录雷数
        if (deposit[x + 1][y + 1]=='#')
        {
            printf("您踩到地雷了,游戏结束,bye~~\n");   //修改
                    //打印出deposit给玩家看雷在哪
            printboard(deposit);          //printboard(deposit[LINE][ROW]);修改
            return; //exit(1); 修改
        }
        else
        {
            if (deposit[x][y] == '#')
            {
                num++;
            }
            else if (deposit[x][y + 1] == '#')
            {
                num++;
            }
            else if (deposit[x][y + 2] == '#')
            {
                num++;
            }
            else if (deposit[x + 1][y] == '#')
            {
                num++;
            }
            else if (deposit[x + 1][y + 2] == '#')
            {
                num++;
            }
            else if (deposit[x + 2][y] == '#')
            {
                num++;
            }
            else if (deposit[x + 2][y + 1] == '#')
            {
                num++;
            }
            else if (deposit[x + 2][y + 2] == '#')
            {
                num++;
            }
            n++;//表示成功排查掉一个
            view[x + 1][y + 1] =num;
                //将玩家选择的坐标周围的雷数呈现出来
            printboard(view);                 //printboard(view[LINE][ROW]); 修改
                //当所有坐标都排查完时跳出循环,游戏胜利
            if (n == ((LINE - 2) * (ROW - 2) - NUM))
            {
                break;
            }
        }
    }
    printf("恭喜你,排除掉了所有的雷,游戏胜利!\n");
}
int main()
{
    char view[LINE][ROW];//玩家真正排雷的地方
    char deposit[LINE][ROW];//布置雷,在判断玩家是否有踩到雷时根据这个数组来判断
                            //先对数组进行初始化
    resetarr(view,' ');   //修改
    resetarr(deposit,'0');
    printboard(view);
    printf("\n");
    printboard(deposit);

    deposit1(deposit);//deposit1(deposit[LINE][ROW]); 修改
    check(deposit, view);   //修改
    return 0;
}