首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: 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
23
问题
有以下程序: 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全国计算机二级
相关试题推荐
下面程序的输出结果是______。main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}
设a、b、c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是______。
有一堆零件(个数在100到200之间),如果分成4个零件一组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面的程序是求这堆零件的总数,请选择填空。#include<stdio.h>main()
软件调试的目的是()。
程序中若有如下说明和定义语句 char fun(char*); main() { char*s="one",a[5]={0},(*f1)()=fun,ch; ..... } 以下选项中对函数Fun的正确调用语句是
下列说法不正确的是()
下列不属于软件调试技术的是______。
已知二叉树BT的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
设栈S的初始状态为空,栈的容量为5,若入栈元素的顺序是e1、e2、e3、e4、e5,则出栈元素的顺序不可能是______。
结构化程序流程图中一般包含3种基本结构。下述结构中,______不属于其基本结构。
随机试题
(84)Oneofthebest-knownproverbsmustbe"Earlytobed,earlytorise,makesamanhealthy,wealthyandwise."Thepromisesof
受遗赠人()。
破伤风病人的面部表情特点是
根据水利部《水利建设质量工作考核办法》(水建管[2014]1351号),建设项目质量事故应急处置主要考核内容不包括()。
会计从业资格报名的基本条件有()。
会员制期货交易所应召开临时会员大会的情形包括()。
不同证券的投资组合可以降低风险,组合中证券的种类越多,其风险分散化效应就越强,可以达到全部证券的投资组合风险为零。()
吴老师在调整座位时让考试成绩好的学生优先挑选喜欢的座位。吴老师的做法()。
社会主义市场经济体制的基础是()。
如未成年人甲父母双亡,祖父母去世。外祖父母年老体衰,甲又无兄弟姐妹,可担任他的监护人包括()。
最新回复
(
0
)