C语言求N!用递归?

2025-03-04 09:14:29
推荐回答(3个)
回答1:

fac()函数中没有return应该会编译报错的。代码正解如下:

int fac(int n)

 int fact; 
 if (n==1)  
  return fact = 1; 
 else 
  return fact = fac(n-1)*n;
}

回答2:

显然你这个递归写错了,哪本书敢这么坑人啊
去看” 1000道C语言和C++语言的练习题笔试题及答案“的第14题,瞧瞧人家是怎么写的。

回答3:

int fac(int n)
{
int fact;
if (n==1)

return fact = 1;

else
return fac(n-1)*n;
}