首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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++)
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++)
admin
2019-12-17
14
问题
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);
retum t+a++;} }
选项
A、28
B、30
C、32
D、34
答案
A
解析
本题考查变量作用域。程序中首先定义了全局整型变量a=4。在int f(int n)函数中定义了局部静态整型变量并进行了初始化即static int 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://www.kaotiyun.com/show/WzCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义:intw[3][5];则以下不能正确表示该数组元素的表达式是
在一个C源程序中所定义的全局变量,其作用域为
有以下程序structS{intn;inta[20];};voidf(struct*P){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n.j++)if(p->a[i]>p->a[j]
若有定义语句:inta[2][3],*p[3];则以下语句中正确的是
有以下程序,程序的输出结果是voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}main(){dou
以下叙述中错误的是
若有定义:inta=0,b=0,c=0,d=0;,有C语言表达式(a++&&b++)?c++:d++,以下关于其执行顺序的叙述正确是()。
用树形结构表示实体之间联系的模型是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
下列对于软件测试的描述中正确的是()。
随机试题
钣金件相贯线的求法有()。
利用润滑油的循环流动,将机械运转中产生的热量带走,保证机械工作正常,这属于润滑油的()作用。
发送传真时,颜色深,对比度高的文稿应选择对比度为()
肺主通调水道的功能主要依赖于
“八议”中有“议宾”一项,“宾”指:
下列对设计概算的作用内容的理解,正确的有()。
填写报检单时,报检单位应加盖单位公章,所列各项内容必须填写完整、清晰、不得涂改。“标记及号码”一栏应填写实际货物运输包装上的标记,如果无标记,应填写N/M。( )
某公司拟折价发行债券,面值1000元,发行价格980元,期限为5年、票面年利率为8%,每年年末付息一次.到期一次还本,债券发行费率为1.5%.企业所得税税率为25%,采用一般模式计算该债券的资本成本为()。
旅游突发事件,是指突然发生,造成或者可能造成旅游者人身伤亡、财产损失,需要采取应急处置措施予以应对的自然灾害、事故灾难、公共卫生事件和社会安全事件。()
HowtoApproachaDissertationI.WhatisadissertationA.Apieceofwritingwithargument:—analyzetheevidencetosupport
最新回复
(
0
)