首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include<iostream> using namespace std; long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2));
有以下程序 #include<iostream> using namespace std; long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2));
admin
2010-12-16
38
问题
有以下程序
#include<iostream>
using namespace std;
long fib(int n)
{
if(n>2)
return(fib(n-1)+fib(n-2));
else
return 2;
}
int main( )
{
cout<<fib(3)<<endl;
return 0;
}
则该程序的输出结果应该是______。
选项
答案
4
解析
本题主要考查C++中递归函数,主函数通过调用fib( )函数,fib( )函数的内部再通过一个分支结构判断是否进行递归调用或退出递归调用,调用方式为直接递归调用。主函数通过实参将值3赋给fib( )函数的形参n,由于n=3满足if分支语句条件,因此函数进行递归调用,即计算 fib(2)和fib(1)的值;将2赋给fib( )函数的形参后,由于n=2不满足if语句条件,因此程序退出递归,返回2;将1赋给fib( )函数的形参后,函数同样返回2。因此函数递归调用的最终结果为返回2 +2=4,即fib(3)=4,程序最后输出值为4。
转载请注明原文地址:https://kaotiyun.com/show/uLVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。
语句’’printf(’’a\bhow\’are\’y\\\bou\n’’);’’的输出结果是()。
有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){defaul
若有以下定义:intx[10],*pt=x;则对x数组元素的正确引用是()。
设有某函数的说明为int*func(inta[10],intn);则下列叙述中,正确的是()。
以下关于typedef的叙述错误的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
设二叉树如下:则后序序列为
软件测试的目的是()。
在单链表中,增加头结点的目的是()。
随机试题
下列对机器设备特点表述正确的有()
Theconceptofpersonalchoiceinrelationtohealthbehaviorsisanimportantone.(71)Anestimated90percentofallillnesses
患儿,1岁5个月。入院后,护士要为其进行静脉输液,首选的部位是
房地产投机对房地产价格的影响有()。
按所处地位分,从热源至热力站的供回水管网是( )。
合同工期内发生的每笔索赔均应形成完整资料,它是工程()资料的组成部分。
下列关于法律规则的论述,正确的是()。
"WhatAbouttheMen?"wasthetitleofaCongressionalbriefinglastweektimedto【B1】______NationalWorkandFamilyMonth."Wha
Lindaisagoodteacher;shealways______ourmemorywhenwecan’tremember.
Thinkingsmall,beingengaging,andhavingasenseofhumordon’thurt.Thoseareafewofthetraitsofsuccessfulsciencecrow
最新回复
(
0
)