首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include int fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } main() { printf("%d\n",fun(7)); }
有以下程序 #include int fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } main() { printf("%d\n",fun(7)); }
admin
2020-11-23
34
问题
有以下程序
#include
int fun(int x)
{
int p;
if(x==0||x==1)
return(3);
p=x-fun(x-2);
return p;
}
main()
{
printf("%d\n",fun(7));
}
执行后的输出结果是
选项
A、2
B、3
C、7
D、0
答案
A
解析
因为fun(int x)是一个递归函数,所以主函数中fun(7)经过3次递归调用,其过程可以描述为"fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2",所以最后输出结果为2。因此A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/NwD0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>structs{inta;intb;};main(){structsa,*p=&a;a.a=99;printf("%d
若要使用C数学库中的sin函数,需要在源程序的头部加上#include<math.h>。关于引用数学库,以下叙述中正确的是()。
以下叙述中正确的是()。
有以下程序:#include<stdio.h>main(){inta[10]={11,12,13,14,15,16,17,18,19,20),*p=a,i=9;printf("%d%d%d\n",
有以下程序:#include<stdio.h>voidfun(int*s){staticintj=0;dosEj]+=s[j+1];while(++j<2);}
以下叙述中正确的是()。
以下叙述中正确的是()。
下列叙述中正确的是()。
有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y——)if(y%3==0)printf("%d",——y);
随机试题
患者,女性,28岁,左上第二磨牙因龋致牙髓炎,患牙在根管治疗过程中的工作长度具体指
肾性水肿最先出现于
强心苷的毒性反应包括()。
存在下列( )情况的,应当召开债券持有人会议。
财务整合是并购后的一体化整合的核心内容与环节之一,财务整合的基本内容包括()。
当事人申请仲裁,必须有当事人之间达成的仲裁协议。()
房地产开发企业在《暂定资质证书》有效期满前()个月内向房地产开发主管部门申请核定资质等级。
运动生物力学
婴儿基本语法掌握的关键期是()。
______youlikeacupoftea?
最新回复
(
0
)