首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序 int f(int a[],int n) { if (n> 1) { int t;t=f(a,n-1); return t>a[n-1]?t:a[n-1];} else retur
若有以下程序 int f(int a[],int n) { if (n> 1) { int t;t=f(a,n-1); return t>a[n-1]?t:a[n-1];} else retur
admin
2020-11-23
32
问题
若有以下程序
int f(int a[],int n)
{
if (n> 1)
{
int t;t=f(a,n-1);
return t>a[n-1]?t:a[n-1];}
else return a[0]; }
main()
{
int a[]={8,2,9,1,3,6,4,7,5};
printf("%d\n",f(a,9));}
则程序的输出结果是
选项
A、9
B、1
C、8
D、5
答案
A
解析
主函数中调用f(a,9),递归函数的调用过程如下: f(a,9)→f(a,8)→f(a,7)→f(a,6)→f(a,5)→f(a,4)→f(a,3)→f(a,2)→f(a,1),f(a,1)得到返回值为a[0],值为8,递归过程开始回归,回归过程描述如下:
8>a[1],返回8→8>a[2]不成立,返回a[2]的值为9…因此函数f的主要功能为计算数组中的最大值。主函数中输出最大值为9。
转载请注明原文地址:https://kaotiyun.com/show/Oy3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义语句“int(*f)(int);”则下列叙述中正确的是()。
有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2:returnx;}main(){inti,s=1;
若各选项中所用变量已正确定义,函数funp通过return语句返回一个函数值,下列选项中错误的程序是()。
有以下程序:#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;print
若变量已正确定义,有以下程序段:i=0;doprintf(’’%d,’’,i);while(i++);printf(’’%d\n’’,i);程序的运行结果是()。
有以下定义和语句:structworkers{intnum;charname[20];charc;struct{intday;intmonth;inty
下列叙述中正确的是()。
下列叙述中正确的是()。
下面选项中关于位运算的叙述正确的是()。
若有定义语句:inta=3,b=2,c=1;以下选项中错误的赋值表达式是()。
随机试题
在运算放大电路中,漂移的主要原因是()。
如图所示,平面静定桁架中零杆个数为()。
项目的结构编码依据项目(),对项目结构的每一层的每一个组成部分进行编码。
管道系统进行压力试验前,应从待试管道拆下或加以隔离的组成件有()。
通常而言,产品期限超过1年的金融市场被称为()。
北京现存最完整的清代王府“恭王府”,最早为乾隆时大学士()的府邸。
函数y=f(x)在(—∞,+∞)上连续,其二阶导函数的图形如图1-2-2所示,则y=f(x)的拐点个数是()
Whetheryou’reaNewJerseymallratorafarmerinIndia,beingpoorcanexhaustyoursmarts.Thefindingsindicatethatan
他是一个喜欢给下属穿小鞋的领导。
Atschoolandatwork,Ihavenoticedthatpeoplehavedifferentkindsofworkhabits.Somepeoplearecollaborators,wholiket
最新回复
(
0
)