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

admin2020-11-11  24

问题 有如下程序:
#include<iostream>
using namespace std;
long fun(int n)
{
if(n>2)
remm(fun(n-1)+fun(n-2));
else
return2;
}
int main()
{
cout<<fun(3)<<endl;
return0;
}
则该程序的输出结果应该是(    )。

选项 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。
转载请注明原文地址:https://kaotiyun.com/show/y4yp777K
0

最新回复(0)