该程序将返回什么值以及如何返回?

时间:2019-07-17 07:10:02

标签: c variables recursion static

给定程序如何返回p(6)的值?由于递归到达p(1)之后的a的值将是1 * p(5)* p(4)* p(3)* p(2)* p(1),那么p(1)的值是多少?

#include <stdio.h>
int p(int n)
{
    static int a=1;
    if(n<=1) 
        return a;
    else
    {
        a=a*p(n-1);
    }
}
int main()
{
    int d=p(6);
    printf("%d",d);
    return 0;
}

0 个答案:

没有答案