首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序的输出结果是【 】。 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
38
问题
以下程序的输出结果是【 】。
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://www.kaotiyun.com/show/UQXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
为了在运行时能显示窗体左上角的控制框(系统菜单),可以设置以下哪个属性的值为True()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序代码:OptionBase1Dimarr()AsIntegerPrivateSubCommandl_Click()DimiAsInte
窗体上有一个名称为Label1的标签控件,其Caption属性的初始值为0,还有一个计时器。为了在程序运行时,标签上的数字每秒加1,应该把语句:Label1.Caption=Label1.Caption+1写在一个事件过程中,这个事件过程是
编写如下程序:PrivateSubCommand1_Click() DimxAsInteger,yAsInteger x=InputBox("输入第一个数") y=InputBox("输入第二个数") Callf(x,
设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框:PrivateSubCommand1_Click()CD1.DialogTitle="打开文件"CD1.InitDir="C:"
输入VisualBasic源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符应使用
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
将E-R图转换为关系模式时,E-R图中的属性可以表示为
随机试题
近几年,女司机驾驶能力屡遭非议,甚至与新手司机一样被冠上“马路杀手”的称号,不过统计数据却表明,女司机肇事比例要远远低于男司机。因此,有人认为,女司机驾驶能力比男司机强。以下哪项如果为真,最能质疑上述结论?
函数y=ln(1+x2)的单调增加区间是().
关于Apgar评分的描述,正确的是
容量为2GB的存储空间,最多可以存放的信息为()。
对于设备更新,下列说法中正确的是______。
关于费用,下列说法中错误的是()。
信用风险转移(CreditRiskTransfer,CRT)是指金融机构,一般是指商业银行通过使用各种金融工具把信用风险转移到其他银行或其他金融机构。信用风险转移市场的参与机构主要是各种金融机构,主要的市场参与者包括商业银行、各种机构投资者和证券公司。
在一根长100厘米的木棍上,从左至右每隔6厘米染一个红点,同时从右至左每隔5厘米也染一个红点。然后沿红点处将木棍逐段锯开,那么长度是1厘米的短木棍有多少根?()
使用Outlook创建邮件帐户时,不能选择的邮件接收服务器类型是()。
Theearthiswitnessinganurbanrevolution,aspeopleworldwidecrowdintotownsandcities.In1800onlyfivepercentofthe
最新回复
(
0
)