这里为什么引用了头文件还是显示未定义?

#这里为什么引用了头文件还是显示未定义?

img

/*源文件内容*/ 
#include<stdio.h>
#include"N Chess Game.h"
void menu()
{
    printf("*******************************  N Chess Game!!  *******************************\n");
    printf("****************************  1.play  ****  2.exit  ****************************\n");
    printf("**************************************-++-**************************************\n");
}
void game()
{
    char board[ROW][COL]={0};
    Initboard(board,ROW,COL);
    displayboard(board,ROW,COL);
}
void test()
{
    menu();
    int input;
    do
    {
    printf("请选择:>");
    scanf("%d",&input);
    switch(input)
    {
        case(1):
            game();
            printf("开始游戏!\n");
            break;
        case(0):
            printf("退出游戏。\n");
            break;
        default:
            printf("选择错误,请重新选择!\n");
            break;
    }
    }while(input);
}

int main()
{
    test();
    return 0;
}
/*头文件内容*/ 
#define ROW 3
#define COL 3
void Initboard(char board[ROW][COL],int row,int col); 
void displayboard(char board[ROW][COL],int row,int col);
/*头文件的函数定义*/ 
#include<stdio.h>
#include"N Chess Game.h"
void Initboard(char board[ROW][COL],int row,int col)
{
    int i,j;
    for(i=0;i<row;i++)
    for(j=0;j<col;j++)
    board[i][j]=' ';
}
void displayboard(char board[ROW][COL],int row,int col)
{
    int i,j;
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
            printf(" %c ",board[i][j]);
            if(j<col-1) 
            printf("|");
        }
        printf("\n");
        if(i<row-1)
        {
            for(j=0;j<col;j++)
            {
                printf("---");
                if (j<col-1)
                printf("|");
            }
            printf("\n");
        }
    }
}
int main()
{
    return 0;
}
/*头文件内容*/ 
#define ROW 3
#define COL 3
void Initboard(char board[ROW][COL],int row,int col); 
void displayboard(char board[ROW][COL],int row,int col);
修改为
/*头文件内容*/ 
#define ROW 3
#define COL 3
extern void Initboard(char board[ROW][COL],int row,int col); 
extern void displayboard(char board[ROW][COL],int row,int col);

头文件文件名最好不要加空格,最好用8.3格式,即文件名长度不超过8

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^