首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include void fun(int n) { static int k=0; if(n
有以下程序: #include void fun(int n) { static int k=0; if(n
admin
2017-07-05
15
问题
有以下程序:
#include
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;
tun(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/XdDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列选项中不合法的十六进制数是()。
有下列二叉树,对此二叉树中序遍历的结果为()。
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
下列选项中不符合良好程序设计风格的是
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作()。
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个节点。structnode{chardata;structnode*next;}*p,*q,*r;现要将q和r所指节点交换前后位置,同时要保持
在深度为7的满二叉树中,叶子节点的个数为()。
在关系数据库中,用来表示实体之间联系的是()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
随机试题
在组织变革的程序中,第一个步骤是()
男性,12岁,右足底被锈铁钉刺伤一段时间后出现乏力、头痛、打哈欠,继而有张,困难、蹙眉和苦笑面容等表现,全身肌肉阵发性痉挛,但神志一直清醒,诊断为破伤风。对该病人护理措施正确的是( )。
一淋巴结作病理切片检查,淋巴结内见成团的异型细胞,并有病理性核分裂相和角化珠形成,应诊断为
下列选项中,属于回报机制政府付费项目的是()
甲是某期货公司的经理,与乙是好友,一日甲邀请乙带家人到他家作客,乙来到甲的书房无意间看到甲的公司文件,发现有一期货交易将会使其大大获利,于是偷偷记下了这个交易名称,第二天进行该交易获利10万元,则关于甲的行为说法错误的是( )。
下列属于银行附属资本的是()。
备料管理的目标包括()。
国家工作人员挪用救灾款物归个人使用的()。
如果进栈序列为A,B,C,D,则可能的出栈序列是
Decidewhichofthechoicesgivenbelowwouldbestcompletethepassageifinsertedinthecorrespondingblanks.Markthebestc
最新回复
(
0
)