首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
35
问题
有以下程序: 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(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
在位运算中,操作数左移一位,其结果相当于()。
下面程序段的输出结果是()。chara[]="lanuage",*p;p=a;while(*P!=’u’){printf("%c",*p-32);P++;}
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
软件工程研究的内容主要包括:【】技术和软件工程管理。
在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示()
sizeof(double)是()
软件工程的结构化生命周期方法,通常是将软件生命周期划分为计划、开发和运行3个时期,下列选项中的______工作应属于软件开发期的内容。①需求分析②可行性研究③总体设计④问题定义
随机试题
在栈顶指针为HS的链栈中,写出计算该链栈中结点个数的函数。
节律规则而强弱交替的脉搏称为
有关衣原体的描述不正确的是
下列对龈袋的描述错误的是
前期物业服务合同的委托人是()。[2003年真题]
易德软件公司是目前国内领先的软件以及服务提供商。经过十多年的发展,依赖“国内+海外”的战略发展规划,已在全球56座城市设立近120个分公司或办事处,覆盖十多个业务领域和重要行业,市场遍及欧洲、亚洲、北美等区域和国家,服务于上千家国内和海外企业客户。相对于软
设A、B是两个随机事件,0<P(A)<1,P(B)>0,P(B|A)+=1,则一定有().
毛泽东说过:“孙中山先生致力国民革命凡四十年还未完成的革命事业,在仅仅两三年,获得了巨大的成就,……这是两党结成了统一战线的结果。”这里的“成就”是指
(1)考生文件夹下有一个工程文件sjt3.vbp,其窗体上有1个名称为Text1的控件数组;一个标题为”排序”的命令按钮。程序运行时,在文本框数组中输入8个整数,如图3-29(a)所示;然后单击”排序”按钮,则8个整数按降序排序,如图3-29(b)所示。
PassageOne(1)Distantindeedseemthedayswhenthetwogreatrivalsofcommercialaviation,BoeingandAirbus,woulduse
最新回复
(
0
)