首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio.h> int fun(int a,int b){if(b==0)return a; else return(fun(--a,--b)); } main() {printf("%d\n",fun(4,2));} 程
有以下程序: #include<stdio.h> int fun(int a,int b){if(b==0)return a; else return(fun(--a,--b)); } main() {printf("%d\n",fun(4,2));} 程
admin
2020-11-27
79
问题
有以下程序:
#include<stdio.h>
int fun(int a,int b){if(b==0)return a;
else return(fun(--a,--b));
}
main()
{printf("%d\n",fun(4,2));}
程序运行后的输出结果是( )。
选项
A、1
B、2
C、3
D、4
答案
B
解析
本题重点考察函数的递归调用;题目中给出的fun()函数直接调用了自身,所以是一个递归函数。其功能是:当参数b为0时,返回参数a的值,否则返回fun(--a,--b)的值。从这里可以看出,当b不断递减时,8也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值。所以整个递归函数的作用就是返回a-b的值。因此B选项正确。
转载请注明原文地址:https://www.kaotiyun.com/show/de3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
软件需求规格说明书的作用不包括()。
若有以下程序#include<stdio.h>main(){intb=10,a=-11;a%=b%=4;printf("%d%d\n",a,b);}则程序的输出结果是
以下叙述中正确的是
以下不合法的字符常量是
要求通过while循环不惭读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
以下定义数组的语句中错误的是
以下叙述中错误的是
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
在数据处理中,其处理的最小单位是()。
随机试题
下列哪一项不属于原发性甲状旁腺功能亢进的表现?()
规费包括()。
与其他工程总承包方式相比较,交钥匙总承包的优越性有()。
冬期施工混凝土配合比宜选择较小的配合比指标是()。
下列选项中,不属于民事诉讼规定先予执行的是()。
桥墩钢模板组装后,用于整体吊装的吊环应采用()。
密西根模式中描述领导行为的维度包括()。
下列选项中不属于面向对象程序设计特征的是()。
ThereisextraordinaryexposureintheUnitedStatestotherisksofinjuryanddeathfrommotorvehicleaccidents.Morethan80
Ittakesalotofcouragetodealwiththefact,thatyouhavecancer.Ittakesevenmorecouragetodealwithlosingalegbeca
最新回复
(
0
)