猿问

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

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;
}
}

慕瓜7417558
浏览 1012回答 1
1回答

onemoo

还是之前的问题。main 函数中调用了另两个函数,但之前并没有它们的声明,这导致了这个警告。其实在 https://www.imooc.com/wenda/detail/425643 中,我其把每个错误该如何解决都给了提示。或者我再说具体些:你应该额外提供这两个函数的“头文件”,并且在 a.c 中 include 这两个头文件。在 https://www.imooc.com/wenda/detail/424876 中,我贴的那个代码示意,其实就是应该如何 include 的范例。如果你还不理解,应该复习下关于关于“声明”、“函数实现和函数声明的区别”的知识点。在这个例子中,能够编译出可执行文件只不过是一种“巧合”(我先不解释这个)。能编译并不能说明代码是正确的。
随时随地看视频慕课网APP
我要回答