使用递归+指针的阶乘

gr1*_*00n -1 c pointers factorial

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

void fact(int *n);
Run Code Online (Sandbox Code Playgroud)

该函数的参数应通过引用传递.谢谢你的帮助.

Sve*_*ach 5

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

void fact(int *n)
{
    if (*n > 1)
    {
        int tmp = *n - 1;
        fact(&tmp);
        *n *= tmp;
    }
}
Run Code Online (Sandbox Code Playgroud)

我永远不会这样写一个阶乘函数.