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

为什么gcc a.c max.c min.c就会出现warning ?不过还是能够编译的。

为什么gcc a.c max.c min.c就会出现warning ?不过还是能够编译的。

慕瓜7417558 2018-09-25 09:29:45
a.c代码如下:#include <stdio.h>int main(){ int a1=33; int a2=21; int maxNum=max(a1,a2); int minNum=min(a1,a2); Printf(“the max value is %d ,\n”,maxNum); Printf(“the min value is %d, \n, minNum); return 0;}max.c代码如下int max(int a,int b){ if(a>b){ return a; }else{ return b; }}min.c代码如下int min(int a,int b){ if(a<b){ return a; }else{ return b; }}
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

还是之前的问题。

main 函数中调用了另两个函数,但之前并没有它们的声明,这导致了这个警告。其实在 https://www.imooc.com/wenda/detail/425643 中,我其把每个错误该如何解决都给了提示。

或者我再说具体些:你应该额外提供这两个函数的“头文件”,并且在 a.c 中 include 这两个头文件。在 https://www.imooc.com/wenda/detail/424876 中,我贴的那个代码示意,其实就是应该如何 include 的范例。

如果你还不理解,应该复习下关于关于“声明”、“函数实现和函数声明的区别”的知识点。


在这个例子中,能够编译出可执行文件只不过是一种“巧合”(我先不解释这个)。能编译并不能说明代码是正确的。

查看完整回答
1 反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 980 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信