首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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); }
有以下程序 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); }
admin
2009-04-15
37
问题
有以下程序 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。
转载请注明原文地址:https://www.kaotiyun.com/show/XoWp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在数据库系统中,给出数据模型在计算机上物理结构表示的是
设有如图所示窗体和以下程序:PrivateSubCommandlClick()Textl.Text=“VisualBasic”EndSubPrivateSubText1LostFoeus()
下列有语法错误的赋值语句是( )。
窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其Enabled属性值是True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时
检查软件产品是否符合需求定义的过程称为()。
设窗体上有一个Text1文本框和一个HScroll1水平滚动条,并有下面的事件过程:PrivateSubHScroll1_Change()Text1=HScroll1EndSub在程序运行时,当把滚动框移动
下面属于应用软件的是
工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码是:PublicxAsIntegerPrivateyAsInteger窗体文件的程序代码是:DimaAsIntegerPrivateSubForm_Load()
设窗体上有1个名称为HScroll1的水平滚动条,其Max、Min属性分别设置为100、1;有2个名称分别为Optionl、Option2的单选按钮,其标题分别为“30”、“50”;还有下面程序代码:PrivateSubOption
随机试题
下列不是牙周基础治疗的内容是
男,30岁,由5m高处跌下2小时。腹痛,腹肌紧张,有压痛和反跳痛,肠鸣音弱。血压104/70mmHg,脉率120次/分。血红蛋白80g/L。X线检查:右侧第9、10肋骨骨折,右侧膈肌升高。最可能的诊断是
对于行为人的行为认定正确的是?()
城市社会与农村社会的基本特征的主要差别是()。
某金属油罐高20m,其罐底设汁标高为-8.00m,此油罐属于()。
在案发现场勘验中,发现一封书信,根据书信中的字体鉴定结论,确定了犯罪嫌疑人。在本案中书信是( ).
全淹没灭火系统的灭火剂设计浓度不得小于多少?
线角(lineangle)
下列叙述中正确的是()。
AccordingtoJanet,thefactorthatwouldmostaffectnegotiationsis
最新回复
(
0
)