首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 int fun(int n) { if(n==1)retum 1; else return(n+fun(n-1)); } main() { int x;
有以下程序 int fun(int n) { if(n==1)retum 1; else return(n+fun(n-1)); } main() { int x;
admin
2013-10-19
46
问题
有以下程序
int fun(int n)
{ if(n==1)retum 1;
else
return(n+fun(n-1));
}
main()
{ int x;
scanf("%d"&x);x=fun(x);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)=10+9+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/DqJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在C语言中,引用数组元素时,其数组下标的数据类型允许是______。
若有如下程序:main(){inta[][2]={1,2,6,9,11},(*t)[2];t=a;printf("%d,%d\n",*(t[1]+1),(*t)[1]);}则程序运行后输出的结果是【
下列程序的输出结果是【】。voidfun(int*n){while((*n)--);printf("%d",++(*n));}main(){inta=1000;fun(&a);
有如下程序段:inta=14,b=15,x;charc=’A’;x=(a&&b)&&(C<’B’);执行该程序段后,x的值为()。
下列叙述中止确的是()。
在下列关于宏定义命令#define的叙述中,正确的一条是()
软件调试的目的是()。
下面叙述正确的是()。
结构化程序设计的主要任务是确定每个模块的
随机试题
违约行为的样态包括()
最大最小系统与固定间隔期系统的不同点在于()
男,50岁,因车祸脑挫裂伤昏迷住院治疗,伤后第3天胃管内吸出新鲜血液400ml,血压85/60mmHg,脉搏110次/分,腹部平软,移动性浊音(-),考虑为应激性溃疡出血,其治疗原则不恰当的是
下列鼻腔填塞材料中可吸收的是
CR四象限理论中,第四象限对应的曲线为
最可能的诊断是最有助于该诊断的检查是
设备制造过程不属于影响设备质量的有关材料方面的因素是()。
下列关于基金销售行为的说法错误的是()。
一家企业去年的存货到今年还没有卖出去便发生了腐烂,这导致今年的GDP下降。
英国__________教堂的建成,标志着真正的罗马式建筑风格的形成。
最新回复
(
0
)