首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
64
问题
有以下程序: 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全国计算机二级
相关试题推荐
以下程序运行后的输出结果是【】。#include<stdio.h>main(){ihtx=0210;printf("%x\n",x);}
设a、b、c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是______。
下列不属于软件调试技术的是______。
在设计程序时,应采纳的原则之一是______。
若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是()。
以下叙述中错误的是 ______。
C语言中main函数参数的非法表示形式是()
以下数据结构中不属于线性数据结构的是______。
以下程序中的for循环执行的次数是______。#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<NUM;i++)
在具有n个结点的二叉排序树上插入一个新结点时,根据n个数据元素生成一棵二叉排序树时,其时间复杂性大致为______。
随机试题
渗透探伤用符号()表示。
管理者在激励员工时会面临哪些经济挑战和跨文化挑战?
霍奇金淋巴瘤(HL)与非霍奇金淋巴瘤(NHL)的不同。下列哪种说法是错误的
A.基本急诊保健B.社区牙周保健一级水平C.社区牙周保健二级水平D.社区牙周保健三级水平E.社区牙周保健四级水平去除龈下菌斑与牙石属于()
注入大量低渗溶液可导致()。
根据福勒和布朗的教师成长阶段论,某教师在课堂教学中主要精力总是集中在对学生成绩的关注上。据此,这位教师的成长可能处在下列的哪个阶段()
下列关于液态金属的说法,错误的是:
当代中国法律体系的最大特色是()。
广义笛卡尔积属于关系运算符中的(40)。两个元数分别为n目和m目的广义笛卡尔积是一个(41)列的元组集合,其形式定义如下:(42)=(43)。
Nottoomanydecadesagoitseemed"obvious"bothtothegeneralpublicandtosociologiststhatmodernsocietyhaschangedpeo
最新回复
(
0
)