首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio.h> int f(int x) { int y; if(x==0||x==1)return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3); printf
有以下程序: #include<stdio.h> int f(int x) { int y; if(x==0||x==1)return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3); printf
admin
2021-04-28
41
问题
有以下程序:
#include<stdio.h>
int f(int x)
{
int y;
if(x==0||x==1)return(3);
y=x*x-f(x-2);
return y;
}
main()
{
int z;
z=f(3);
printf("%d\n",z);
}
程序运行后的输出结果是( )。
选项
A、0
B、9
C、6
D、8
答案
C
解析
主函数中调用f函数,同时将数值3传递给变量x,执行条件不满足条件if(x==0||x==1);跳过return(3);,直接执行语句y=x*x-f(x-2);这里f(x-2)为函数的递归调用,再次调用f函数,此时x=1,判断条件成立,返回3给f(1),y=3*3-3=6,最后将6返回主函数,并进行输出。因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/K3tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
某系统总体结构图如下图所示:该系统总体结构图的深度是
以下选项中表示一个合法的常量是(说明:符号□表示空格)
有以下程序#includemain(){inti,j,m=1;for(i=1:i0;j--){if(i*j>3)break;m*=i*j;}}printf("m=%d\n
有以下程序#includemain(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果
下列定义变量的语句中错误的是
下列叙述中正确的是
有以下程序#includeintfun(chars[]){char*p=s;while(*p!=0)p++;return(p-s):}main(){printf("%d\n",fun("0ABCDEF"
下面不属于软件测试实施步骤的是()。
下面对对象概念描述正确的是()。
软件测试用例包括
随机试题
关于梯度切换率高的完整描述,正确的是
房屋租金可分为()。
对该宗土地进行城市用地适用性评价,该宗土地属于()类建设用地。在下列合同中,属于从合同的有()。
《标准施工合同》中的通用条款规定,发包人暂停施工的责任,()。
下列关于费用的表述正确的有()。
经海关批准,实行集中申报的进出口货物,应当适用的税率是()。
发文登记一般采用的形式是()。
某些律师承认交警便衣执勤是“隐蔽执法”行为,但却是“不得已而为之”。言下之意即明知违法,但因为可以取得更好的执法效果就可以故意违法。这就好比战争中为了保护多数人的安全,就可以打着“人权”的幌子剥夺少数人的生命,而本身却是最大的不尊重“人权”。同理,知法犯法
IQ
A、 B、 C、 D、 A
最新回复
(
0
)