问题
单项选择题
有如下程序: #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.61222
答案
参考答案:C
解析: 注意递归调用的过程,当输入2作为函数参数时,调用肋()函数直接返回参数值 2;当输入参数大于2时有一个递归调用的过程。