fanc(n)=fanc(n-1)*n;
有错误,赋值操作“=”的左边必须是左值,也就是说必须是一个变量。
fanc(n)的值是一个int型的值,fanc(n-1)*n也是一个int型的值
这就相当于“1=2”,所以不正确
fanc(n)=fanc(n-1)*n; // left operand must be l-value ,是这行错的吧,你以为像数学一样,其实不然,还没有懂递归的意思,建议再学一下。
fanc(n)=fanc(n-1)*n;
这是数学式子,不是编程,编程 应该改为return fanc(n-1)*n
fanc(n)=1;
应该就是return 1;
int fanc(int n)
{
if(n<2)
return 1;
else
return n*fanc(n-1);
}