首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 void fun(int n,int*s){int f; if(n==1)*s=n+1; else{fun(n-1,&f);
有以下程序 void fun(int n,int*s){int f; if(n==1)*s=n+1; else{fun(n-1,&f);
admin
2020-05-19
59
问题
有以下程序
void fun(int n,int*s){int f;
if(n==1)*s=n+1;
else{fun(n-1,&f);*s=f;}}
main(){ int x=0;
fun(4,&x);
printf("%d\n",x);
}
程序运行后的输出结果是
选项
A、1
B、3
C、4
D、2
答案
D
解析
函数fun为递归调用函数,如果n的值为1,那么后面形参指向的空间存放n+1,否则继续计算fun(n-1)的值。调用分析过程:fun(4,&x)→fun(3,&x)→fun(2,&x)→fun(1,&x)在回归的过程中,对于x内的数据并没有改动。
转载请注明原文地址:https://kaotiyun.com/show/9uCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序输出的结果是()。main(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1.b++;break;}case2:a++;b++;bre
要通过语句scaRf(’’%d,%d,%d’’,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是()。
关于int*func(inta[10],intn);的叙述中正确的是()。
若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:口代表一个空格符)()。
C语言源程序名的后缀是()。
以下选项中与if(a=1)a++;elsea=b;语句功能不同的语句是()。
请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为123,则输出结果为:输入的数字是3位。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于开发阶段任务的是
与十进制数200等值的十六进制数为
随机试题
对于收入和费用归属期的确认,在会计处理上有()。
面部危险三角区疖的主要危险是()
表面麻醉时,最常选用的麻醉药是
深二度烧伤的愈合时间,在无感染的情况下,一般为
采用声波透射法检测灌注桩质量时,PSD判据法基本上消除了由于声测管不平行或混凝土不均匀等因素造成的声时变化对缺陷判断的影响。()
计算机中度量数据的最小单位是()。[2013年真题]
Haveyoueverwonderedwhatourfutureislike?Practically,allpeople【B1】_____adesiretopredicttheirfuture【B2】_____Most
标准分常模是将原始分数与平均数的距离以标准差为单位表示出来的量表。因为它的基本单位是标准差,所以叫标准分数。常见的标准分数有z分数和()。
下列担保方式中不属于约定担保的是()。
设栈的顺序存储空间为S(1:m),初始状态为top=m+1,则栈中的数据元素个数为()。
最新回复
(
0
)