首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } mai
有以下程序: void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } mai
admin
2013-02-23
51
问题
有以下程序: void f(int a[],int i,int j) { int t; if(i<j) { t=a
;a
=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa
); printf("\n"); } 执行后输出结果是( )。
选项
A、5,4,3,2,1,
B、5,2,3,4,1,
C、1,2,3,4,5,
D、1,5,4,3,2,
答案
1
解析
在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当i<j时,将数组中的元素a
和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了一个长度为5的数组aa并初始化,然后调用f(a,0,4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1,所以,4个选项中选项A符合题意。
转载请注明原文地址:https://www.kaotiyun.com/show/Y4Pp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
fgetc函数的作用是从指定文件读入一个个字符,该文件的打开方式必须是______。
当说明一个结构体变量时,系统分配给它的内存是()。
已有定义inta=-2;和输出语句printf("%81x",a);以下正确的叙述是()。
下面选项中不属于面向对象程序设计特征的是()。
程序中若有如下说明和定义语句 char fun(char*); main() { char*s="one",a[5]={0},(*f1)()=fun,ch; ..... } 以下选项中对函数Fun的正确调用语句是
以下叙述中正确的是 ______。
设有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是
下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。假定t1所指向的链表非空structnode{floatx;structnode*next;};connect(structnode*t1,structno
设栈S的初始状态为空,栈的容量为5,若入栈元素的顺序是e1、e2、e3、e4、e5,则出栈元素的顺序不可能是______。
在计算机系统中,一个字长的二进制位数为______。
随机试题
用人单位自用工之日起超过一个月不满一年未与劳动者订立书面和劳动合同的,应当向劳动者每月支付()的工资。
患者,女性,心脏听诊可闻及局限不传导的器质性杂音,该患者可能为哪种疾病
设备的实体性贬值与设备使用过程中的()无关。
下列关于期货投机者的说法,正确的有()。
某企业每月平均现金需要量为10万元,有价证券的月利率为1%,假定企业现金管理相关总成本控制目标为600元。一年按360天计算,且公司采用存货模式确定最佳现金持有量。要求:计算每月最佳现金余额;
残缺人民币的兑换标准。
上海豫园鱼乐榭有一上实下空的墙,遮挡了原来流水较近的短处,产生了源远流长的效果,这是( )的神来之笔。
运输物流、仓储物流的调研属于()。
Amaro罐头水果公司的出纳员预测了项目A、项目B以及项目C的现金流,如表2-5-5所示:假设相关的折现率为每年12%。假定这三个项目是互斥的,请问基于盈利指数法,Amaro应该选择哪个项目?
A、 B、 C、 A
最新回复
(
0
)