使用递归+指针的阶乘

时间:2011-01-11 18:04:13

标签: c pointers factorial

我正在学习C编程,我试图通过使用这个原型来编写递归函数:

void fact(int *n);

此函数的参数应通过引用传递。谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

我觉得在提供完整解决方案方面没有帮助 - 这只是为了表明有一个答案:

void fact(int *n)
{
    if (*n > 1)
    {
        int tmp = *n - 1;
        fact(&tmp);
        *n *= tmp;
    }
}

我绝不会这样写一个阶乘函数。