如有下程序:
#include<iostream>
using namespace std;
long fun(int n)
if(n>2)
return(fun(n-1)+fun(n-2));
else
return 2;
int main()
cout<<fun(3)<<endl;
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,