单选题
👁️ 浏览量:

试题题干

使用递归函数计算n!(n=0,1,2,3,…)的是()

A

fac(int n)

{int i,f=-1;
if(n==0) return 1;
else for(i=1;i return f);

}

B

fac(int n)

{
if(n==0||n==1) return 1;
else return n*fac(n-1);

}

C

fac(int n)
{int i=1,f=1;
if(n==0) return 1;
else while(i return f);

}

D

fac(int n)
{int i=1, f=1;
if(n==0) return 1;
else do{f*=i;}while(i++ return f);

}

参考答案

正确答案:

试题解析

A选项是计算-(1~n)的乘积;C选项不是使用递归函数计算;D选项是计算1~n-1的乘积。