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

admin2009-01-15  22

问题 有如下程序:    #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       1        2       2       2

答案4

解析 注意递归调用的过程,当输入2作为函数参数时,调用肋()函数直接返回参数值 2;当输入参数大于2时有一个递归调用的过程。
转载请注明原文地址:https://kaotiyun.com/show/M0kp777K
0

最新回复(0)