首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
52
问题
有以下程序: 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://kaotiyun.com/show/Y4Pp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后,输出结果为______。main(){inta[2][3]={1,3,5,7,9,11},*s[2],**pp,*p;s[0]=a[0],s[1]=a[1];pp=s;p=(int*)malloc(sizeof(int));**pp=
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{1,2,41,36,28},{19,33,
以下叙述中不正确的是()
若有函数max(a、b),为了让函数指针变量p指向函数max,当调用该函数时,正确的赋值方法是
下列不属于软件调试技术的是______。
十进制数111用八位二进制数表示为【】。
设有以下语句:chara=3,b=6,c;c=ab<<2;则c的二进制值是______。
一个采用顺序存储方式的线性表中,若线性表的第一个元素的存储地址是200,每一个元素的长度是2,则第6个元素的地址是______。
结构化程序设计主要强调的是
十进制数555的十六进制数表示形式为______。
随机试题
在Word2003的集中式剪贴板中,可以保存__________次用户拷贝的内容。
参苓白术散配伍桔梗的用意是
关于覆牙合的定义是
患者,46岁。3年前行固定义齿修复,目前咬合疼痛,义齿松动,要求重新固定义齿修复。检查:固定桥修复体已脱位,固位体为,3/4全冠,基牙Ⅱ~Ⅱ度松动。最佳修复方案是
单位工程质量验收的条件不包括()。
企业实施清产核资的步骤主要有()。
根据《中华人民共和国担保法》的规定,可以质押的权利包括()。
国家的教育目的体现了国家对教育培养人的总的要求,而根据各级各类学校任务所确定的对所培养的人的特殊要求,通常称为______。
教师自编测验的主观题包括论文题、______题。
根据《中华人民共和国专利法》的规定,下列可以被授予专利权的是()。
最新回复
(
0
)