首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: int a=4; int f(int n) main() {int t=0;static int a=5; {int s=a,i=0; if(n%2){int a=6;t+=a++;} for(;i<2;i++)s+=f(i); els
有下列程序: int a=4; int f(int n) main() {int t=0;static int a=5; {int s=a,i=0; if(n%2){int a=6;t+=a++;} for(;i<2;i++)s+=f(i); els
admin
2016-12-18
66
问题
有下列程序:
int a=4;
int f(int n) main()
{int t=0;static int a=5; {int s=a,i=0;
if(n%2){int a=6;t+=a++;} for(;i<2;i++)s+=f(i);
else{int a=7;t+=a++;} printf("%d\n",s);
return t+a++;} }
程序运行后的输出结果是
选项
A、28
B、24
C、32
D、36
答案
A
解析
程序中定义了全局整型变量a=4。在int f(int n)函数中定义了局部静态整型变量并进行了初始化即static nt a=5。在int f(int n)函数中对n是否是偶数进行判断,如果n是奇数,则函数的返回值为11,局部静态整型变量a=6:如果n是偶数,则函数的返回值为12,局部静态整型变量a=6。所以在main()函数中循环首先执行s+=f(0)语句,而f(0)返回值12,所以第一次循环结束s的值等于4+12=16;第二次开始执行f(1)时,在f(1)中执行“if(n%2){int a=6;t+=a++;}”和“return t+a++;”这两条语句,这时t=6,a=6(静态局部变量第一次循环后其值加1值不释放,执行第二次循环量,其值仍有效),所以f(1)的返回值等于12。再在主函数中执行s+=f(1)语句,即16+12=28。
转载请注明原文地址:https://kaotiyun.com/show/gNDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下不正确的定义语句是
有以下程序:main(){intm[][3]={1,4,7,2,5,8,3,6,9);inti,j,k=2;for(i=0;i<3;i++)
有如下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("
设有定义语句:charc1=92,c2=92;,则以下表达式中值为零的是______。
若有定义:inta[2][3];,以下选项中对a数组元素正确引用的是
结构化程序设计主要强调的是()。
按照“先进先出”组织数据的数据结构是()。
以下关于简单程序设计的步骤和顺序的说法中正确的是()。
下列程序的循环次数是______。x=2;do{x=x*x;}while(!x);
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
随机试题
TheAkashiKaiykoBridgeTheAkashiKaiykoBridgeinsouthernJapanisoneoftheworld’slongestbridges.TheAkashiKaiyko
[*]
甲亢病人术后并发甲状腺危象,其临床表现是
对放疗高度敏感的肿瘤是
符合HIV抗体不确定判断标准,报告“HIV抗体不确定(±)”,在备注中应注明
根据《公司法》规定,下列关于盈余公积金的说法不正确的是()。
李某,女,已婚,36岁,某外企工厂的职工,有一个上五年级的男孩。近一段时间,李某因为夫妻关系和孩子学习的问题而苦恼,特来寻求社工帮助。针对该服务对象,应该收集以下哪些方面的资料?()。
Inthispart,youareallowedtowritealettertotheheadmasterofyourprevioushighschoolwhohasinvitedyoutogiveaspe
A、 B、 C、 B题中说,将在会议上迟到很长时间,(B)回答说应该通知客户,因此是正确答案。(A)是针对when句式的回答。
A、 B、 C、 ANo,...inahospitalanswerstheyes/noquestion.Choice(B)confusesthesimilarsoundsbarnandbor
最新回复
(
0
)