问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
long fib(int n)
if(n>2) return(fib(n-1)+fib(n-2));
else return(n);
void main()
int i;
cout<<"请输入一个整数:";
cin>>i;cout<<endl;
cout<<fib(i)<<endl;
当输入4、2时,该程序的输出结果是( )。
A.5
B.4
C.5
D.6
1222
答案
参考答案:C
解析: 注意递归调用的过程,当输入2作为函数参数时,调用肋()函数直接返回参数值 2;当输入参数大于2时有一个递归调用的过程。