首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> void fun( int n ) { static int k=0; if(n<0){ printf("-"); n=-n; } k+=n%10; printf("%
有以下程序 #include <stdio.h> void fun( int n ) { static int k=0; if(n<0){ printf("-"); n=-n; } k+=n%10; printf("%
admin
2021-04-28
48
问题
有以下程序
#include <stdio.h>
void fun( int n )
{ static int k=0;
if(n<0){ printf("-"); n=-n; }
k+=n%10; printf("%d,",k);
if(n/10) fun(n/10);
}
main( )
{ int x=-12;
fun(x); printf("\n");
}
程序运行后的输出结果是
选项
A、-2,3
B、-1,-2,
C、-2,-3,
D、-2,1
答案
A
解析
fun()函数使用了静态变量,静态变量只在声明时初始化一次。首先实参的数值是-12,if判断后输出负号,并将n=12,计算k+=n%10,k+=2,2,因此输出2,后将数值除以10,结果为1,递归调用fun()函数,第二次调用fun(),此时n=1, k=2,计算k+=n%10:k+=1:3,因此打印3,。故最后打印结果为-2,3,故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/nxtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
软件设计中模块划分应遵循的准则是
有以下程序#include#includeStructA{inta;charb[10];doublec;};structAf(structAt);main(){
以下叙述中正确的是
在关系数据库中,用来表示实体间联系的是
若有以下程序段structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,’\0’},*p;P=&a[0];则以下选项中值为6的表达式是
已有定义:charc;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非O数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于开发阶段任务的是
以下关于结构化程序设计的叙述中正确的是
下面关于算法的叙述中,正确的是()。
随机试题
问卷设计的首要原则是()
可以用于判断双肾功能的检查是()
女,27岁。尿频、尿急、尿痛2天。无发热及腰痛既往无类似发作。查体:肾区无叩击痛,静脉肾盂造影无异常。尿沉渣镜检红、白细胞满视野,给予头孢曲松治疗,症状好转,停服药物7天后,尿细菌定量培养为真性菌尿,继续治疗疗程一般为
为延长局部麻醉药的作用时间和减少不良反应,可配伍应用
下列关于我国金融债的说法,错误的是()
我们不能简单地认为词典的编纂者不对,他们对词汇的用法作出改动不会是随意的,想必经过了认真的研究推敲。不过,词典编纂者不能忽视一个基本事实以及由此衍生的基本要求:语言文字是广大人民群众共同使用的,具有极为广泛的社会性,因此语言文字的规范工作不能在象牙塔里进行
需求的价格弹性
鸦片战争后中国社会发生的两个根本性变化是
IEEE802规范主要与OSI模型的哪些层有关?(29)
Acomputerisamachinedesignedtoperformworkmathematicallyandtostoreandselectinformationthathasbeenfedintoit.I
最新回复
(
0
)