问题 问答题

已知递归函数f的定义如下:

int f(int n)

{

if(n <=1)return 1; //递归结束情况

else return n*f(n-2); //递归}

则函数调用语句f(5)的返回值是 【8】

答案

参考答案:

O

解析:

本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的,f()函数在n小于等于1时返回1,而在其余情况下返回n*f(n-2)。所以本题的递归算法可以表示为:

 题目要求的结果是f(5),即f(5)=5*f(3)=5*3*f(1)=5*3*1=15。故应该填15。

单项选择题
选择题