为了账号安全,请及时绑定邮箱和手机立即绑定

求解释!!!!!!!

这个就算把static改为extern还是不能通过,为什么?

正在回答

5 回答

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

0 回复 有任何疑惑可以回复我~

因为文件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();
}


1 回复 有任何疑惑可以回复我~

是的,你应该看看这里的详细解释 http://www.imooc.com/qadetail/105343

课程通不过可能是本站的问题,最近题目都不能正常判断正误。

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//566af2ba00012d4405150578.jpg。。。

0 回复 有任何疑惑可以回复我~

http://www.imooc.com/qadetail/105343

错的地方挺多的,这个题目本身就有问题,具体可以看看上面链接所说的

0 回复 有任何疑惑可以回复我~
#1

lews 提问者

看了还是不能通过,请问解决怎么通过?
2015-12-11 回复 有任何疑惑可以回复我~
#2

忆木偶 回复 lews 提问者

不是可以直接下一章吗
2015-12-11 回复 有任何疑惑可以回复我~
#3

lews 提问者 回复 忆木偶

这章怎么可以通过?
2015-12-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926217    人
  • 解答问题       20797    个

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

进入课程

求解释!!!!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信