在 gcc 4.7.2 (Ubuntu Server 12.10) 上编译此代码时遇到问题
#include <stdio.h>
int main()
{
long int facto = 30;
printf("%ld\n", fact(facto, facto - 1);
}
long int fact(long int n, long int a)
{
if (a == 1)
return (n);
fact(n * a, a - 1);
}
我知道这可以用一个参数函数来完成,但这不是重点。
我得到的错误是:'fact'的冲突类型(函数声明行)先前隐式声明的事实在这里(与printf行)