问答详情
源自:5-13 内部函数与外部函数

代码对了,为什么没输出

hello.c和test.c的代码都正确,为什么没输出
http://img.mukewang.com/564ebaf00001f19108110604.jpg

提问者:Seek_Era 2015-11-20 14:18

个回答

  • qq__3559
    2016-01-22 20:39:43

    补充:extern的主要作用不在于定义外部变量或函数,而在于引用定义,如果在其他编译器中去掉#include”test.c",不然会出现重定义(例如visual studio)。

  • qq__3559
    2016-01-22 01:27:59

    因为文件hello.c的printLine()函数和test.c中的say()函数是被相互引用的,因此这两个函数都应为外部函数,在两个文件中都必须声明引用。所以小编的答案是错误的!具体代码如下:

    hello.c文件中:

    #include <stdio.h>
    #include "test.c"   //引用test.c文件
    extern void say();
    void printLine()     //这里定义的方法对吗?
    {
       printf("**************\n");  
    }
    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();
    }


  • 大头不败
    2015-12-02 23:17:10

    #include <stdio.h>


    extern void printLine()    

    {

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

    }

    int main()

    {  

        printLine();

        printf("I love imooc\n");

        printf("good good study!\n");

        printf("day day up!\n");

        printLine();


  • 可可滴
    2015-12-01 14:09:10

    me too

  • qq_曦正_0
    2015-11-26 10:44:57

    我也是

  • Eurek
    2015-11-21 23:56:24

    我这面也是一样情况,提交正确,显示不出来,刷新也试了