首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #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
35
问题
有以下程序 #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全国计算机二级
相关试题推荐
运行以下程序后,输出的图案是()。Forml.ClsAS:StringS(10,“*”)Fori=1To5n=10-2*iXS=AS:Y$=SpaceS(n)Mid$(X$,i+1,n)=Y$Pr
在考生文件夹下有一个工程文件sit5.vbp,含三个窗体,标题分别为“启动”、“注册”、“登录”,运行时显示“启动"窗体,单击其上按钮时弹出对应窗体进行注册或登录。注册信息放在全局数组users中,注册用户数(最多10个)放在全局变量n中(均已在标准模块中
下列叙述中正确的是
关于菜单设计,下列叙述中错误的是()。
设有下列语句:x=5Ifx>0Theny=ly=5程序运行后,则下列叙述中正确的是()
在考生文件夹下有一个工程文件sjt4.vbp。该程序的功能是计算M!+(M+1)!+(M+2)!+…+N!之和。窗体上有名称分别为Textl、Text2的两个文本框,用于接收输入的M和N(要求M<N)。单击名称为Commandl、标题为“计算”的命令按钮,
请在名称为Forml的窗体上添加一个名称为H1的水平滚动条,并在属性窗口中设置它的属性值,使其满足下列要求:它的最小刻度值为1,最大刻度值为100,在程序运行时,用鼠标单击滚动条上滚动框以外的区域(不包括两边按钮),滚动框移动10个刻度。再在滚动条下面画两
如果要定义一个窗体级变量,定义变量语句的位置应该是()。
随机试题
培训和教育有何区别?
嗜铬细胞瘤可发生于
下列选项中,不属于盖髓术原理描述的是
2013年3月18日,某化工厂发生一起火药爆炸事故,造成22人死亡,3人受伤,约200m。及部分机器设备被炸毁,直接经济损失40.48万元。事发当时,该厂84#车间条装工序一螺旋输送器空心螺杆在运行中断裂,车间副主任熊某某(事故中死亡)了解情况后,为了不影
VIP是VeryImportantPerson的缩写,是指()。
已知复数z1满足(z1-2)(1+i)=1-i(i为虚数单位),复数z2的虚部为2,z1.z2是实数,求z2。
对有重大贡献的教师,依照国家有关规定应当()。
俄国农奴制改革与日本明治维新的相同之处是()。
A.negativeB.interactC.gainD.self-respectPhrases:A.achildislikelytodevelopa【T13】______outlookoflifeB.formin
YouwillhearpartofabusinessnegotiationbetweenMr.MitchellandMadamLi.Foreachquestion23—30,markoneletterA,Bo
最新回复
(
0
)