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

同样的代码,为啥不行

https://img1.sycdn.imooc.com//5cc400f70001b2ff18790978.jpg

到底哪错了

正在回答

4 回答

#include <stdio.h>
//#include "test.c"   //引用test.c文
extern void printLine()     //这里定义的方法对吗?
{
   printf("**************\n");  
}
int main()
{
    say();
    return 0;
}

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

#include <stdio.h>
void say(){
    printLine();
    printf("I love imooc\n");
    printf("good good study!\n");
    printf("day day up!\n");
    printLine();
}

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

首先都要修改printLine()为extern,然后有两个方法:

方法1. #include "test.c"作用就是被引入到hello.c,引入进去相当与hello.c的一部分,所以将say()改为static,调用内部函数。

方法2. 删除#include "test.c",直接调用say().因为say()默认是extern,外部函数是可以直接调用的。

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

Majesty_x

解释到位
2019-05-07 回复 有任何疑惑可以回复我~
#2

慕斯225660

厉害!!
2019-06-28 回复 有任何疑惑可以回复我~
#3

过客1312

看着挺明白,不知道为啥想到在test.c中用#include"hello.c"是不是也就不需要将printLine()改为extern了,但是好像不行,然后成功把自己整晕,求大神解惑
2019-07-15 回复 有任何疑惑可以回复我~
#4

qq_慕桂英8257606

nice
2019-07-22 回复 有任何疑惑可以回复我~
查看1条回复

你用其他软件运行就可以,他这自带的有问题

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

慕虎319992

自带没问题,是我错了
2019-04-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

同样的代码,为啥不行

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