首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
66
问题
有以下程序: 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全国计算机二级
相关试题推荐
有以下程序段:typedefstructNODE{intnum;structNODE*next;}OLD;以下叙述中正确的是()。
关系操作的特点是【】操作。
有如下程序:#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",i);
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{1,2,41,36,28},{19,33,
已有定义:char a[]="xyz",b[]={’x’,’y’,’z’};,以下叙述中正确的是 ______。
结构化程序设计的一种基本方法是()
数据结构分为逻辑结构与存储结构,线性链表属于【】。
在C语言中,退格符是
若i、j为int类型,则以下程序段内循环体的总执行次数是【】。for(i=5;i;i--)for(j=0;j<3;j++){}
在具有n个结点的二叉排序树上插入一个新结点时,根据n个数据元素生成一棵二叉排序树时,其时间复杂性大致为______。
随机试题
(中国政法大学考研真题)在下列情形中,不具有民事诉讼主体资格的有哪些?()
指定银行总账科目为1002银行存款。(用户名007刘东,账套001A公司,操作日期2014年11月01日)
某企业只生产A产品,销售单价为50元,单位变动成本为20元,年固定成本总额为45万元,2017年的销售量为2万件。下列说法正确的有()。
“声振林木,响遏行云”描写的是周秦时期的歌唱家()
教学作为一种活动,一个过程,具有多种形态,是()的统一。
物质由一种状态变成另一种状态叫物态变化,物态变化过程中会有吸热或者放热现象。下列关于物态变化和吸热放热对应错误的是()。
采用效标团体法(又叫经验法)编制的人格测验是()。
WiththeMetOfficepredictingasummerheatwave,MacmillanCancerReliefthisweek(1)_____itscustomarywarningaboutthesun
ItseemsthatonlyMaryiseligibleforthejob.
Norms:TypesandAcceptanceSociologistsfindthattounderstandaculture,itisveryimportanttounderstanditsnorms.Ⅰ.
最新回复
(
0
)