[₽] 2023-06-10 23:22 采纳率: 86.7%
浏览 32
已结题

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

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

/*源文件内容*/ 
#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;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-06-10 23:39
    关注

    你怎么有2个main函数

    这个文件删除掉main和include那个h

    #include<stdio.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");
            }
        }
    }
    
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月19日
  • 已采纳回答 6月11日
  • 创建了问题 6月10日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画