首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
29
问题
有以下程序: 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://jikaoti.com/ti/pRB0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
下面程序段的运行结果是()。char*p="abcdefgh";p+=3;printf("%d\n",stfien(strcpy(p,"ABCD")));
算法具有五个特性,以下选项中不属于算法特性的是 _____。
下列程序中,字符串中各单词之间有一个空格,则程序的输出结果是【】。#includemain(){charstrl[]="Howdoyoudo",*p1=strl;strcpy(strl+strlen
若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()
以下叙述中正确的是()
开发软件时对提高开发人员工作效率至关重要的是()
设有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是
C语言规定,程序中各函数之间()
设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【】。
随机试题
下列病变不是在T1及T2加权像上均呈高信号的是
某孕妇,骨盆入口平面狭窄,主要引起
()适用于钢结构防腐涂层附着力的现场试验检测。
下列关于工程项目目标应满足条件说法正确的是()。
竣工结算工程价款二()。
甲公司将两个业务部门分出设立乙公司和丙公司,并在公司分立决议中明确,甲公司以前所负的债务由新设的乙公司承担。分立前甲公司欠丁企业贷款12万元,现丁企业要求偿还。根据《合同法》的规定,下列关于该12万元债务承担的表述中,正确的是()。(2011年)
清唱剧《弥赛亚》的作者是_________,与他同属巴洛克时期的另一位著名的作曲家巴赫,被称为_________。
树立和落实科学发展观,是我国20多年改革开放实践的经验总结,是战胜()给我们的重要启示,也是全面建设小康社会的迫切要求。
在改革、发展、稳定三者之间,都具有不同的地位作用,其中()
•Readthearticlebelowaboutbuying-acomputer.•ChoosethebestwordtofilleachgapfromA,B,CorD.•Foreachquestion
最新回复
(
0
)