C语言报错:error: static declaration of xxx follows non-static declaration
报错原因
调用了静态函数,但没有声明
解决方案
在使用函数之前进行声明
原代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t,year;
printf("请输入某年年份:");
scanf("%d",&year);
t = Xingqi_yuandan(year);
printf("%d",t);
}
int Xingqi_yuandan(int year)
{
int m,n;
m = (year-1900)/4-(year-1900)/100+(year-1)/400;
n = ((year-1900)*365 + m)%7+1;
return n;
}
修改代码
#include <stdio.h>
#include <stdlib.h>
int Xingqi_yuandan(int year);
int main()
{
int t,year;
printf("请输入某年年份:");
scanf("%d",&year);
t = Xingqi_yuandan(year);
printf("%d",t);
}
int Xingqi_yuandan(int year)
{
int m,n;
m = (year-1900)/4-(year-1900)/100+(year-1)/400;
n = ((year-1900)*365 + m)%7+1;
return n;
}