如有下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun(n-2)); else

admin2010-12-16  28

问题 如有下程序:    #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、   
D、5

答案C

解析  主函数中调用fun(3),在fun内部当n>2时,递归调用fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4,
转载请注明原文地址:https://kaotiyun.com/show/3QVp777K
0

最新回复(0)