首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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);
有以下程序: #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);
admin
2020-10-26
30
问题
有以下程序:
#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/bj3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义:charC;doubled;程序运行时输入:12,能把字符1输入给变量c、数值2输入给变量d的输入语句是()。
以下选项中,合法的C语言实数是()。
有以下程序:#include<stdio.h>main(){inta;a=(int)(一1.53*3);printf("%d\n",a);}程序的运行结果是()。
有以下程序:#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:
程序调试的任务是()。
设有定义:intx=2;,以下表达式中,值不为6的是()。
以下选项中错误的是()。
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
使用白盒测试方法时,设计测试用例应根据()。
给定程序NODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16100=18+
随机试题
风心病以哪个瓣膜损害最常见
Withanappropriaterelativepronounorrelativeadverb:HeisastraightAstudent,_______hisbrotherneverwas.
证明方程x=asinx+b(a﹥0,b﹥0)至少有一个正跟,且不超过a+b。
女性,75岁。慢性咳喘20余年,近3年伴有双下肢水肿,5天来咳喘加重,应用抗生素、利尿剂,效果不著,1天来失眠、烦躁。血气分析:pH7.35,PaO255mmHg,PaCO274mmHg,AB42mmol/L,血氯80mmol/L。该患者可能的诊断为(
某患者患下颌骨恶性肿物,进行性张口困难。下唇麻木,出现这些症状的可能原因为
如果同时买入两种风险资产而形成资产组合A,则该组合的方差介于这两种风险资产的方差之间。( )
税法的规范作用,包括()。
WhichTWOofthefollowingaresalesstrategiesforchocolatesinItalyandGermany?AChangethelocationoftheproductonshe
GeneralPsychology:theStudyofBehaviorIntroductionGeneralpsychologyisconcernedwiththestudyofhumanbehavior.How
DearDiary,IHateYouReflectionsonjournalsinanageofovershare.A)Isuspectthatmanypeoplewhodon
最新回复
(
0
)