首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
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
16
问题
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://kaotiyun.com/show/WzCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序,程序运行后的输出结果是#include#defineS(x)4*(x)*x+1voidmain(){intk=5,j=2;printf("%d\n",S(k+j));}
下列关于栈的描述中错误的是
以下四个程序中,完全正确的是
下列叙述中错误的是
表达式a+=a-=a=9的值是
有以下函数:intfun(char*ps){char*p;p=ps;if(*ps==NULL)retum0;while(*++P);return(P—ps);}该函数的功能
给定程序MODI1.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第1门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第1门课程的平均分是:76.125000请改正函数fun
某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m,rear=m—1,则该循环队列中的元素个数为()。
在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是()。
函数fun的功能是:将a、b两个两位正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上。例如,当a=45,b=12,调用该函数后c=1425。
随机试题
关于蓝牙,以下说法错误的是()。
手足阳明经交接的部位在:()
男性,20岁,踢足球时右膝摔伤,8周后仍疼痛。查体:右膝肿胀,浮髌试验阳性,前抽屉试验阳性,侧方应力试验阴性。最可能的诊断是
人体初次感染结核菌后出现的肺结核类型是
对永久荷载应采用()作为代表值。
(2003)我国目前的旅馆客房内最常见的空调系统是()。
审计收费方法可以采用计件收费和计时收费两种方法。从注册会计师业务发展趋势看,计时收费应该成为审计收费的基本方法。()
下列关于中国证监会或证监局依法采取行政监管或行政处罚措施的说法,不正确的是()。
农产品生产企业和农民专业合作经济组织应当建立农产品生产记录,如实记载下列哪些事项?()
设a是整型变量,与函数IIf(a>0,-a,A)有相同结果的代数式是()。
最新回复
(
0
)