首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include int sum(int*array,int len) { if(len==0) return array[0]; else return array[0]+sum(ar
有如下程序: #include int sum(int*array,int len) { if(len==0) return array[0]; else return array[0]+sum(ar
admin
2021-06-15
37
问题
有如下程序:
#include
int sum(int*array,int len)
{
if(len==0)
return array[0];
else
return array[0]+sum(array+1,len-1);
}
main()
{
int array[5]={1,2,3,4,5};
int res=sum(array,4);
printf("%d\n",res);
}
程序运行后的输出结果是( )。
选项
A、15
B、10
C、8
D、1
答案
A
解析
程序执行过程为:定义字符数组array,调用函数sum将数组首地址与4传入函数,len=4;len!=0递归调用sum(array+1,3)传入地址为数组第二个元素地址;len>0递归调用sum(array+1,2)传入地址为数组第三个元素地址;len>0递归调用sum(array+1,1)传入地址为数组第四个元素地址;len>0递归调用sum(array+1,0)传入地址为数组第五个元素地址,此时len=0,返回5;执行sum(array+1,1)余下语句,返回9;执行sum(array+1,2)余下语句,返回12;执行sum(array+1,3)余下语句,返回14;执行sum(array+1,4)余下语句,返回15,并输出。
转载请注明原文地址:https://kaotiyun.com/show/9Atp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2223445666677899101010。删除
下列程序的输出结果为()。main(){unionun{char*name;intage;intpay;}s;’s.name="zhaoming";s.age=32;s.pay=3000;printf("%d\n",s.a
有以下程序:#include<stdio.h>main(){┋while(getchar()!=’\n’);┋}以下叙述中正确的是()。
以下不能将键盘输入的字符串:Thisisastring读入到str中的程序段是()。
以下语句中存在语法错误的是
在数据管理技术发展的三个阶段中,数据共享最好的是
设inta=2,b=3,c=4;,则以下选项中值为0的表达式是()。
软件集成测试不采用
若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是
在满足实体完整性约束的条件下
随机试题
Shecameintotheroomquietly________wakeherfriends.
建设中国特色社会主义,总依据是()
与连续X射线的最短波长有关的是
链斗挖泥船挖泥摆动时,应合理控制横移速度,防止斗链出轨。()
下列关于施工现场围档的论述中,错误的是()。
发生质量事故后,()必须将事故的简要情况向项目主管部门报告。
()不是我国会员制期货交易所会员应当履行的义务。
在实际的采购活动中,如果物料、零部件和组件在需要之前就可以买到的话,绝大部分的采购活动都是预购的。
Themediacanoftenhelpsolveproblemsand______attentiontosituations______helpisneeded.
社会主义道德建设的核心和原则在公共生活领域的体现,也是社会主义人道主义的基本要求的是()
最新回复
(
0
)