首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序的输出结果是【 】。 int fun(int *x,int n) { if(n==0) return x[0]; else return x[0]+fun(x+1,n-1); } main() { in
以下程序的输出结果是【 】。 int fun(int *x,int n) { if(n==0) return x[0]; else return x[0]+fun(x+1,n-1); } main() { in
admin
2009-01-15
47
问题
以下程序的输出结果是【 】。
int fun(int *x,int n)
{ if(n==0) return x[0];
else return x[0]+fun(x+1,n-1);
}
main()
{ int a[]={1,2,3,4,5,6,7};
printf("%d\n",fun(a,3));}
选项
答案
10
解析
题目中的fun()函数直接调用了自身,所以它是递归函数。函数中只有一条if语句,意思是:若n为0,则返回x所指内容(x[0]等价于*x),否则返回x所指内容加上fun(x+1,n-1)。即,当n>0时,fun(x,n)=x[0]+fun(x+1,n-1)=x[0]+x[1]+fun(x+2,n-2)=…=x[0]+x[1]+…+x[n];当n=0时,fun(x,n)=x[0];当n<0时,函数将无限循环递归调用下去,因为n-1下去永远也不会等于0。所以本题中fun(a,3)=a[0]+a[1]+a[2]+a[3]=12+3+4=10。故应该填10。
转载请注明原文地址:https://kaotiyun.com/show/UQXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列描述中,错误的是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序代码:OptionBase1Dimarr()AsIntegerPrivateSubCommandl_Click()DimiAsInte
下列队列的描述中,正确的是()。
在窗体上画两个文本框(名称分别为Text1和Text2)和一个命令按钮(名称为Command1),然后编写如下事件过程:PrivateSubCommand1_Click()x=0DoWhilex
窗体上有一个名称为Command1的命令按钮,其单击事件过程如下:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerStaticzAsIntegerx
要使菜单项MenuOne在程序运行时失效,应使用的语句是()。
支持子程序调用的数据结构是()。
在考生文件夹下有一个工程文件sjt4.vbp。窗体上有名称为Labell的标签和名称为Timerl的计时器控件。该程序的功能是在名称为Labell的标签中循环显示不同的字符串。程序开始运行,在标签中显示”第一项”(如图2-24所示),且每隔1秒钟依次显示”
随机试题
Halfoftheworld’scoralreefs(珊瑚礁)havediedinthelast30years.Nowscientistsareracingtoensurethattherestsurvive.
维护仪器的基本措施一般有那六个方面?
我国现行《企业会计准则》中的会计科目编号采用的方法是()
将二进制数10110001.101转化为十六进制为()
肺癌病人止痛,首选的给药方式是
作业活动结束,承包单位的检查顺序依次是()
狗比人类能听到频率更高的声音,猫比正常人在微弱光线中视力更好,鸭嘴兽能感受到人类通常感觉不到的微弱电信号。上述陈述最不能支持下述判断,除了:
Therigidhigher-educationbusinessisabouttoexperienceawelcomeearthquake.Traditionaluniversitiesnowfaceanew【C1】____
Thereare(36)TVchannels(频道)intheUnitedStates.Americansgetalotofentertainment(娱乐)and(37)fromTV.Mostpeople
公元前2世纪,中国就开始开辟通往西域的丝绸之路。汉代使节(envoy)张骞于公元前138年和119年两次出使西域。西汉时期,中国的商船队就到达了印度和斯里兰卡(SriLanka),用中国的丝绸换取了琉璃(coloredglaze)、珍珠等物品。唐代是中
最新回复
(
0
)