首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
47
问题
有下列程序:
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全国计算机二级
相关试题推荐
设有下列的程序段:charstr[]="Hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为_______.
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。
下列叙述中正确的是______。
若有以下说明和定义uniondt{inta;charb;doublec;}data;以下叙述中错误的是
下列叙述中正确的是
关于结构化程序设计原则和方法描述错误的是()。
设有定义"struct{inta;floatb;charc;}abc,*p_abc=&abc;",则对结构体成员a的引用方法可以是abc.a和p_abc【】a。
栈和队列的共同特点是
栈和队列的共同特点是
随机试题
在药品贮存中,哌替啶应存放于
不能补充血糖的生化过程是
半夏泻心汤所治心下痞是由何因所致
所谓(),是指根据进度计划安排,在某一确定时间内所应完成的工程内容的计划投资。
在下列质量事故中,发生()时,省级交通运输主管部门应在接报2小时内进一步核实,并按规定上报。
_____被公认为第一本现代教育学著作,书中赫尔巴特强调必须有“一种教育者自身所需要的科学,有科学与思考力”并与相邻学科取长补短。【】
举例说明如何运用代币奖励法改变儿童的不良行为习惯。
预防未成年人犯罪的目的是增强未成年人的学习观念。()
文艺复兴运动实质上是一次()的文化革命。
[*]
最新回复
(
0
)