求助,模块间通信问题

代码小红 2017-09-13 08:39:28
题目是:利用外部变量实现程序模块之间的通信。
我敲好了代码,但是运行失败,具体应该怎么解决?代码如下:
模块1
#include<stdio.h>
int var=8;
void main()
{
printf("%d",var);
procl();
printf("\n%d",var);
}
模块2
#include<stdio.h>

extern int var;
procl()
{
var=25;
}
谢谢啦,本人菜鸟,勿笑。
...全文
410 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2017-09-14
  • 打赏
  • 举报
回复
你的procl函数要在头文件中有声明,然后模块1包含该头文件
自信男孩 2017-09-13
  • 打赏
  • 举报
回复
引用 3 楼 oJingYiXiuShen12345 的回复:
谢谢,还是出错,这个例子是10年前的,电脑是windows10。 还要继续研究,囫囵吞枣,不好。
编译的时候两个文件都要同时编译。
代码小红 2017-09-13
  • 打赏
  • 举报
回复
谢谢,还是出错,这个例子是10年前的,电脑是windows10。 还要继续研究,囫囵吞枣,不好。
代码小红 2017-09-13
  • 打赏
  • 举报
回复
引用 1 楼 cfjtaishan 的回复:
这个不能叫做模块间通信吧,只是一个全局变量在两个文件里使用。 第二个文件里函数定义有问题,另外,第二个文件里的函数需要在第一个文件里声明一下,因为在第一个文件里调用了。 文件1:
#include<stdio.h>
int var=8;
void procl(void);
void main()
{
    printf("%d",var);
    procl();
    printf("\n%d",var);
}
文件2:
#include<stdio.h>

extern int var;
void procl(void)
    {
        var=25;
    }
模块的划分,在C语言里一般是按照功能来划分的。模块可大可小。
谢谢。 把它俩放在一个文件夹里,分别命名为f1.c f2.c,f1直接调用f2吗?还有没有第三个文件?要不要在f1里写f2的名字?
自信男孩 2017-09-13
  • 打赏
  • 举报
回复
这个不能叫做模块间通信吧,只是一个全局变量在两个文件里使用。 第二个文件里函数定义有问题,另外,第二个文件里的函数需要在第一个文件里声明一下,因为在第一个文件里调用了。 文件1:
#include<stdio.h>
int var=8;
void procl(void);
void main()
{
    printf("%d",var);
    procl();
    printf("\n%d",var);
}
文件2:
#include<stdio.h>

extern int var;
void procl(void)
    {
        var=25;
    }
模块的划分,在C语言里一般是按照功能来划分的。模块可大可小。
自信男孩 2017-09-13
  • 打赏
  • 举报
回复
同时编译,不是编译一个再编译另一个。
自信男孩 2017-09-13
  • 打赏
  • 举报
回复
引用 5 楼 oJingYiXiuShen12345 的回复:
[quote=引用 4 楼 cfjtaishan 的回复:] [quote=引用 3 楼 oJingYiXiuShen12345 的回复:] 谢谢,还是出错,这个例子是10年前的,电脑是windows10。 还要继续研究,囫囵吞枣,不好。
编译的时候两个文件都要同时编译。[/quote] 我分别编译了这俩文件,然后运行f1.c还是不行啊。麻烦老师了,谢谢。[/quote] 不要分别编译,gcc -Wall -g f1.c f2.c -o a.cout
代码小红 2017-09-13
  • 打赏
  • 举报
回复
引用 4 楼 cfjtaishan 的回复:
[quote=引用 3 楼 oJingYiXiuShen12345 的回复:] 谢谢,还是出错,这个例子是10年前的,电脑是windows10。 还要继续研究,囫囵吞枣,不好。
编译的时候两个文件都要同时编译。[/quote] 我分别编译了这俩文件,然后运行f1.c还是不行啊。麻烦老师了,谢谢。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧