问题 单项选择题

下列函数中,哪项是正确的递归函数( )。

A int Fun(int n)


if(n<1) return 1;

else
return n*Fun(n+1);

B) int Fun(ira n)


if(abs(n)<1) return 1;

else
return n*Fun(n/2);

C) int Fun(int n)



if(n>1) return 1;

else
return n*Fun(n*2)1


D) int Fun(int n)



if(n>1) return 1;

else
retun n*Fun(n-1);

答案

参考答案:B

解析: 本题考查递归函数这个知识点。递归函数由递归出口和递归体两部分组成:递归出口给出了递归终止的条件;递归体给出了递归的方式。对于选项A,当参数n>=1时,不满足递归调用的结束条件;对于选项C,当参数n<=0时,不满足递归调用的结束条件;对于选项D,当参数n<:2时,不满足递归调用的结束条件。

单项选择题
不定项选择