该代码的输出为125
#include<stdio.h>
int func(int a)
{
static int num = 2;
if(a==0) return 1;
num++;
return num*func(--a);
}
int main()
{
printf("%d", func(3));
}
而这段代码的输出为60
#include<stdio.h>
int func(int a)
{
static int num = 2;
if(a==0) return 1;
return (++num)*func(--a);
}
int main()
{
printf("%d", func(3));
}
在第一段代码中,我在return语句之前增加了num
,在第二段代码中,我在return语句中预先增加了num
.