首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序的输出结果是______。 main() { int x;0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k)
以下程序的输出结果是______。 main() { int x;0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k)
admin
2013-02-23
46
问题
以下程序的输出结果是______。
main()
{ int x;0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
选项
答案
7
解析
在主函数中定义了一个变量x并赋初值0,然后执行函数调用语句,该语句的执行过程为sub(&x,8,1)调用sub(&a,4, 2),sub(&s,4,2)调用sub(&a,2,4),sub (&a,2,4)中由于2<4,所以if后面括号里的判断为假,递归结束,执行其后的。*a+=k;语句此时 x=x+k=0+4+4,回推到上一层调用函数sub(Rx,4, 2)中,执行后面的语句,x=x+k=4+2=6,在回推到最上一层调用函数sub(&x,8,1)执行后面的语句,x=x+k=6+1=7,所以最后输出7。
转载请注明原文地址:https://www.kaotiyun.com/show/ZhJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:ttomeetme<回车>则程序输出的结果是#include"stdio.h"main(argc,argv)intargc;char*argv[];
下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数:876675896101301401980431451777#include<conio.h>#include<stdio.h>intfun(
若变量已正确说明为int类型,要通过语句scanf("%d%d%d",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是
在单链表中,增加头结点的目的是
下列可作为C语言赋值语句的是______。
若输入tc,则程序的运行结果为【】。#include<stdio.h>main(){charstr[40];fscanf(stdin,"%s",str);fprintf(stdout,"%s\n",str);}
C语言规定,在一个源程序中,main函数的位置
对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
下列说法错误的是______。
随机试题
中世纪美学在根本上属于()
患者,男性,45岁。多饮多食、消瘦1年。多次查空腹血糖5.5mmol/L左右,餐后2小时血糖17mmol/L。其治疗方案应在饮食治疗的基础上加用
预警评价指标的构建应遵循()原则。
下列选项中,属于重大伤亡事故或者其他严重后果的有()
下列各项中,不属于期望投资报酬率构成内容的有()。
在公司发行新股时,给原有股东配发一定数量的认股权证的主要目的是()。
贝克和雷米认知疗法强调咨询师是教育者,其含义是()。
根据CTT的模型和假设,可知SX2=ST2+SE2,关于这个公式描述正确的是
下列关于标准模块的叙述中,错误的是
WhatkindofnaturaldisasterhappenedonTuesdayinLaConchita,California?
最新回复
(
0
)