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

这个哪里错了

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


正在回答

1 回答

方法1:既然引入了test.c文件,extern void printLine()前面的extern就要去掉,将test.c文件中的say()函数声明为static函数。

方法2.直接将引入的test.c删除,void printLine()声明为外部函数即extern void printLine();其他地方不用变即可。

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

慕移动8214611 提问者

谢谢你
2020-03-14 回复 有任何疑惑可以回复我~
#2

慕用3527273

大佬您好,我按照您第一个方法在vs中输入,报错信息时"printLine"重定义;不同的基类型,请问这个要怎么处理?
2020-03-20 回复 有任何疑惑可以回复我~
#3

qq_落叶飘香_03948743

谢谢你
2020-04-02 回复 有任何疑惑可以回复我~
#4

quasitilted

请问第一种方法的原理是什么?引入“test.c”的前提下,如果不把test.c文件中的say()函数声明为static函数,为什么运行会出错呢?
2020-04-10 回复 有任何疑惑可以回复我~
#5

慕姐6531462

这个引入函数直接删除的话,那后面输出结果不就没有中间的东西了吗?
2021-11-02 回复 有任何疑惑可以回复我~
查看2条回复

举报

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

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

进入课程

这个哪里错了

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