问题 单项选择题

有如下程序: #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时有一个递归调用的过程。

单项选择题
单项选择题