为什么运行失败

来源:5-13 内部函数与外部函数

qq_慕圣134250

2018-12-15 17:13

为什么运行失败?求大神指导。

#include <stdio.h>

#include "test.c"   //引用test.c文件

extern void printLine()     

{

   printf("**************\n");   

}

int main()

{

    say();

    return 0;

}


写回答 关注

2回答

  • 明天就开始学习
    2018-12-17 16:31:14

    这个是hello.c中的代码,另外在test.c中 void say() 默认是外部函数,但是在hello.c中第二行又引用了test.c其实是没必要的。说白了就是人家本来就是外部函数可以直接调用但是你又引用了他的文件。

    两种可以方法解决:

    1. hello.c中把第二行引用test.c注释掉;

    2. test.c中把void say()定义为内部函数即static void say() 。

    问题倒可以解决,但是并不确定也不明白为什么外部函数和引用文件会有冲突,可能跟编译器有关吧。 

    明天就开始学... 回复_Liona...

    很久没上慕课学习了,不过没看到你发的代码和错误信息啊。

    2019-02-23 18:15:49

    共 2 条回复 >

  • 慕容4405357
    2018-12-15 17:49:49
    hello.c中
    
    #include <stdio.h>
    void printLine()     //这里定义的方法对吗?
    {
       printf("**************\n");   
    }
    extern void say();
    int main()
    {
        say();
        return 0;
        }
    
    
    
    test.c中
    
    #include <stdio.h>
    extern void printLine();
    void say()
    {    
        printLine();
        printf("I love imooc\n");    
        printf("good good study!\n");    
        printf("day day up!\n");    
        printLine();
     }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题