C程序编译错误(小程序)

#include
#define MAXLINE 100 //most input

int compare1(int savewl[]);// array name of save and the first character of the word and the line.

void getcl(int savewl[],int next) //get by the character length,save to array
{
int i,c;

for(i = 0;(c = getchar())!= EOF;++i)
if(c == '\n'){
++next;
i = 0;

}
else
savewl[next] = i;
}

main() //print to everyone word length
{
printf("How many the number is \n");

int next,i;
int save[MAXLINE];
next = 0;

getcl(save,next);
next = compare1(save);
for(i = 0;i <= next;++i)
printf("H");

return 0;
}

int Compare1(int s[]) //compare character. compositor
{
int n1,n2,r; //next and reture
r = 0;

for(n1 = 0;n2 <= MAXLINE;++n1)
for(n2 = 1;n2 <= n1;++n2)
if(s[n1] > s[n2])
r = s[n1];
else
if(s[n1] < s[n2])
r = s[n2];
else
;
return r;

}

compile error:In function 'main' undefined reference 'compare1'
意思是不是在主函数里未定义compare1但是我前面有前置函数声明,这是怎么了

你这个函数的声明和调用都是小写的,函数定义时候函数名字第一个字母大写了