我正在学习C编程,我试图通过使用这个原型来编写递归函数:
void fact(int *n);
此函数的参数应通过引用传递。谢谢你的帮助。
答案 0 :(得分:5)
我觉得在提供完整解决方案方面没有帮助 - 这只是为了表明有一个答案:
void fact(int *n)
{
if (*n > 1)
{
int tmp = *n - 1;
fact(&tmp);
*n *= tmp;
}
}
我绝不会这样写一个阶乘函数。