问题
单项选择题
下列函数中,哪项是正确的递归函数( )。
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时,不满足递归调用的结束条件。