首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> void fun(int n, int *p) { int f1,t2; if(n==1 ||n==2) *p=1; else { fun(n-1,&f1);
有以下程序 #include <stdio.h> void fun(int n, int *p) { int f1,t2; if(n==1 ||n==2) *p=1; else { fun(n-1,&f1);
admin
2009-06-20
70
问题
有以下程序 #include <stdio.h> void fun(int n, int *p) { int f1,t2; if(n==1 ||n==2) *p=1; else { fun(n-1,&f1); fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d\n", s ); }
选项
A、2
B、3
C、4
D、5
答案
A
解析
在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。本题中的fun()函数直接调用了自身,所以它是一个递归函数。fun()函数中,当形参n为1或2时,让形参p所指内容为1。从这里可以看出形参p的用途是输出一个整数,所以我们不妨记作fun(1)=1、 fun(2)=1。如果是其他情况,那么输出结果*p的内容为f(n)=f(n-1)+f(n-2)。由此可见, fun()函数的作用是求斐波纳契数列第n项的值(斐波纳契数列第1和2项的值为1,以后各项分别为前两项之和:1、1、2、3、5、8、13……)。主函数中通过fun()函数,求第3项值;所以输出结果为2,故应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/x6Wp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
窗体上有一个名称为Picture1的图片框和一个名称为Timer1的计时器控件,并有下面程序代码:Dimx%,y%PrivateSubForm_Load()x=Picture1.Width*2y=Picture1.Height*2Timer
有如下程序:PrivateSubForm_Click()DimSAsInteger,NAsIntegerS=0DoS=(S+1)*(S+2)N=N
下列叙述中正确的是
对于循环队列,下列叙述中正确的是()。
下列叙述中正确的是
使用()方法,可清除列表框中所有的列表项。
在考生目录下有一个工程文件sjt5.vbp和文本文件in5.dat,其中有若干个用一个空格符隔开的英文单词。窗体上有2个命令按钮,其功能是:单击“读数据”按钮,可以读入in5.dat文件中的所有内容并显示在文本框中。单击“统计”按钮,能
设有如下声明语句OptionBase1Dimart(2,-1To5)AsInteger则数组arr中数组元素的个数是
随机试题
构建社会主义和谐社会的主体是()
脊椎骨折常见
可用于治疗尿崩症的药物是
期权费等于()。
随着社会的不断发展,行业间相互依赖日趋紧密,但彼此的商业关系却因竞争激烈而变化无常,永恒的信任不复存在,新的损失风险也不断增加。因此,风险管理已成为企业的重要工作的一部分。根据以上资料,回答下列问题:常用的风险控制措施有()。
A企业2015年10月31日生产成本借方余额50000元,材料采购借方余额30000元,材料成本差异贷方余额500元,委托代销商品借方余额40000元,周转材料借方余额10000元,存货跌价准备贷方余额3000元,则资产负债表“存货”项目的金额为(
如图所示,质量为m的小铁块A以水平速度v0冲上质量为M,长为l,置于光滑水平面C上的木板B正好不从木板上掉下。已知A、B间的动摩擦因数为μ,此时长木板对地位移为s,求这一过程中:(1)木板增加的动能;(2)小铁块减少的动能;(3)系统机械能的减少量。
(一)注意事项:1.本部分主要测试应考者阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力。2.仔细阅读给定资料,按照后面提出的“作答要求”在答题纸上作答。3.作答时请使用蓝、黑色迹钢笔或签字笔。(二)给定
一座公寓楼有5层,每层有1到2套公寓。该楼上共有8套公寓,有8户居民住在不同的公寓里,分别是J、K、L、M、N、O、P、Q。关于他们,满足以下条件:(1)J住在有两套公寓的楼层上,K恰好住在P的上面一层;(2)第二层仅有一套公寓;(3)M和N住在同一
Whatmostprobablyhappenstotheweather?
最新回复
(
0
)