首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 int fun(int n) main() {if(n==1)return1; {int x; Else scanf("%d",&x);x=fun(x); retum(n+fun(n-1)); printf("%d\n",x); }
有以下程序 int fun(int n) main() {if(n==1)return1; {int x; Else scanf("%d",&x);x=fun(x); retum(n+fun(n-1)); printf("%d\n",x); }
admin
2016-12-18
78
问题
有以下程序
int fun(int n) main()
{if(n==1)return1; {int x;
Else scanf("%d",&x);x=fun(x);
retum(n+fun(n-1)); printf("%d\n",x);
} }
执行程序时,给变量x输入10,程序的输出结果是
选项
A、54
B、65
C、45
D、55
答案
D
解析
在C语言中函数可以递归调用,即直接或间接地自己调用自己。本题在函数int fun(int n)的定义中又出现了对函数fun的调用,所以函数fun是递归函数。因而在主函数中调用x=fun(x)时,当输入10赋给变量x时,递归调用的过程为:
fun(10)=10+fun(9)=109+fun(8)=10+9++8+fun(7)=10+9+8+7+fun(6)
=10+9++8+7+6+fun(6)=10+9++8+7+6+5+fun(4)=10+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)=10++9+8++7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2+1=55。
转载请注明原文地址:https://kaotiyun.com/show/0NDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下不正确的定义语句是
有以下程序main()}inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d/n",s);}程序的输出结果是
设有下列的程序段:charstr[]="Hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为_______.
有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是______。
以下叙述中错误的是______。
数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_______。
以下不属于对象的基本特点的是
主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#includefindmax(int*s,intt,int*k){intp;for(p=0,*k=p;ps[*k])();}ma
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
以下不是面向对象思想中的主要特征的是
随机试题
设,则y’=_______.
恶性高血压时,肾的病变有
关于DNA双螺旋模型的叙述,错误的是
在35~110kV变电站站址选择和站区布置时,需要考虑下列哪些因素的影响?
咨询工程师(投资)可凭据登记证书和执业专用章,以咨询工程师(投资)名义,从事以下业务()。
不得直接用于水泥混凝土路面面层的砂是()。
阅读下列材料,回答问题。阳光,是一种语言雷抒雁
教学过程中贯彻直观性教学原则有哪些基本要求?
某3个数的平均数是2,如果把其中一个数改为4,平均数就变成了3。被改的数原来是:
Forthispart,youareallowed30minutestowriteashortessayentitledRelationshipBetweenOne’sMajorandFutureJob.Your
最新回复
(
0
)