问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
long fun(int n)
if(n>2)
return(fun(n-1)+fun(n-2));
return 2;
int main()
cout<<fun(3)<<end1;
return 0;
则该程序的输出结果应该是( )。
A.2
B.3
C.4
D.5
答案
参考答案:C
解析: 主函数中调用fun(3),在fun内部当n>2时递归调用fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4。