问题 单项选择题

有如下程序:
#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。

选择题
选择题