首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设有如下函数定义: #include intfun(intk) {if(k
设有如下函数定义: #include intfun(intk) {if(k
admin
2015-07-31
86
问题
设有如下函数定义:
#include
intfun(intk)
{if(k<1)return0;
elseif(k==1)return1;
elsereturnfun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。
选项
A、2
B、3
C、4
D、5
答案
B
解析
首先 n=fun(3),3被当作参数传递进去,这就进行了一次调用,3被当做参数传进去后,程序会执行这句 else return fun(k-1)+1; 这就调用了第二次,而参数是3-1也就是2。2被当做参数传进去后,程序会执行这句 else return fun(k-1)+1; 这就调用了第三次,而参数是2-1也就是1。1被当做参数传进去后,程序会执行这句 else if(k==1) return 1; 不再递归调用,所以最终结果为3次。
转载请注明原文地址:https://kaotiyun.com/show/s2Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return3;elsep=x-fun(x-2);re
有下列程序:fun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}执行后的输出结果是(
下列叙述中不正确的是()。
设有如下程序#inclide<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n,"**k);}上述程序的输出结果是_
在循环中,continue语句与break语句的区别是:______语句只是结束本次循环,然后进行循环的条件判定。
若有下列定义和语句:intu=011,y=0x11,w=11;printf("%o,%x,%d\n",u,v,w);则输出结果是()。
以下程序运行后的输出结果是【】。fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main(){int
下列关于栈的描述中错误的是______。
C语言中用______表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
随机试题
顶进大型箱涵穿越铁路路基时,可用()加固线路。
根据宴席档次和烹调方法的要求,将各种加工成形的原料加以适当的配合,供烹调或直接食用的工艺过程称为菜肴组配。()
奇穴太阳的正确位置是在
患者,女,25岁,已婚。月经周期或先或后,经量或多或少、色黯有小块,经行不畅,乳房作胀,舌苔薄白,脉弦。其证型是
下列砌块中含有铝粉的是:
为适应低热性的要求,建筑物内部的大体积混凝土,通常选用()。
下列各科目的期末余额,不应在资产负债表“存货”项目列示的是()。
下图是一些国家在某时期经济年增长率的数据图,该时期是()。
【B1】【B5】
Completethesentencesbelow.ChooseONEWORDONLYfromthepassageforeachanswer.Writeyouranswersinboxes34-36onyoura
最新回复
(
0
)