扫雷输入第一行和第一列的坐标时显示乱码。



#define _CRT_SECURE_NO_WARNINGS 1
#include"game.h"

void game()
{
    char mine[ROWS][COLS] = {0};//布置好的雷的信息
    char show[ROWS][COLS] = {0};//排查出的雷的信息
    //初始化棋盘
    InitBoard(mine, ROWS, COLS, '0');
    InitBoard(show, ROWS, COLS, '*');
    //打印棋盘
    
    
    //布置雷
    SetMine(mine, ROW, COL);
    DisplayBoard(mine, ROW, COL);
    printf("\n");
    DisplayBoard (show, ROW, COL);
    //排查雷
    FindMine(mine,show,ROW,COL );

}
void menu()
{
    printf("*************************\n");
    printf("*****     1.play    *****\n");
    printf("*****     0.exit    *****\n");
    printf("*************************\n");
}
void main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
        menu();
            printf("请选择\n");
            scanf_s ("%d", &input);
            printf("\n");
            switch (input)
            {
            case 1:
                game();
                break;
            case 0:
                printf("不玩算了\n");
                break;

            default:
                printf("玩不玩啊?\n");
                
            }
    } while (input);
    return 0;
};

``````c

#include "game.h"
#define _CRT_SECURE_NO_WARNINGS 1
void InitBoard(char board[ROWS][COLS], int rows, int cols,char a)
{
    int i = 0;
    int j = 0;
    for (i = 1; i < rows; i++)
    {
        for (j = 1; j < cols; j++)
        {
            board[i][j] = a;
        }
    }
}


void DisplayBoard(char board[ROWS][COLS], int row, int col)
{
    int i = 0;
    int j = 0;
    printf("---------扫雷---------\n");
    for (i = 0; i <= col; i++)
    {
        printf("%d ", i);
    }
    printf("\n");
    for (i = 1; i <= row; i++)
    {
        printf("%d ", i);
        for (j = 1; j <= col; j++)
        {
            printf("%c ", board[i][j]);

        }printf("\n");
    }
    printf("---------扫雷---------\n");
}

void SetMine(char mine[ROWS][COLS], int row, int col)
{
    //布置十个雷
    int count = EASY_COUNT;
    while (count)
    {
        //随机生成下标
        int x = rand()%row+1;
        int y = rand()%col+1;
        if (mine[x][y] == '0')
        {
            mine[x][y] = '1';
            count--;
        }

    }

}
int get_mine_count(char mine[ROWS][COLS],int x,int y)
{
    return mine[x - 1][y] +
        mine[x - 1][y - 1] +
        mine[x][y - 1] +
        mine[x + 1][y - 1] +
        mine[x + 1][y] +
        mine[x + 1][y + 1] +
        mine[x][y + 1] +
        mine[x - 1][y + 1] - (8 * '0');
}
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
    //1.输入排查的坐标
    //2.检查坐标处是不是雷
      //(1)是雷 - 很遗憾炸死了
      // (2)不是雷- 统计周围有几个雷-储存排查雷的信息到show数组,游戏继续
    int x = 0;
    int y = 0;
    int win = 0;
    while (win < row*col-EASY_COUNT)
    {
        printf("请输入要排查的坐标:");
        scanf_s("%d %d", &x ,& y);//x、y属于(1,9)
        //判断坐标的合法性
        if (x >= 1 && x <= row && y >= 1 && y <= col)
        {
            if (mine[x][y] == '1')
            {
                printf("很遗憾,你被炸死了\n");
                DisplayBoard(mine, row, col);
                break;
            }
        
            else
            {
                //不是雷的话----统计x,y坐标周围有几个雷
                int num = get_mine_count(mine, x, y);    
                show[x][y] = num + '0';
                //显示排查出的信息
                DisplayBoard(show, row, col);
                win++;
            }
        }
        else
        {
            printf("坐标不合法,请重新输入\n");
        }
    }
    if (win == row * col - EASY_COUNT)
    {
        printf("恭喜!排雷成功\n");
        DisplayBoard(mine, row, col);
    }
}


``````c
#pragma warning(once:4996)
#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stdio.h>
#define ROW  9
#define COL  9
#define ROWS ROW+2
#define COLS COL+2
#define EASY_COUNT 10
#include<stdlib.h>
#include<time.h>

//初始化棋盘
void InitBoard(char board[ROWS][COLS],int row,int col,char set);
//打印棋盘
void DisplayBoard(char board[ROWS][COLS], int row, int col);
//布置雷
void SetMine(char mine[ROWS][COLS],int row ,int col);
//排查雷
void FindMine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col);


上面代码顺序为
1.test.c
2.game.c
3.game.h
求大佬指教