首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: int a=4: int f(int n) main() {int t=0;static int a=5; {int s=a,i=0; if(n%2){in
有下列程序: int a=4: int f(int n) main() {int t=0;static int a=5; {int s=a,i=0; if(n%2){in
admin
2019-06-09
22
问题
有下列程序:
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。在intf(int n)函数中定义了局部静态整型变量并进行了初始化即static inta=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++;}”和“retum t+a++;”这两条语句,这时t=6,a=6(静态局部变量第一次循环后其值加1值不释放,执行第二次循环量,其值仍有效),所以f(1)的返回值等于12。再在主函数中执行s+=f(1)语句,即16+12=28。
转载请注明原文地址:https://kaotiyun.com/show/vRRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有下列程序:fun(charP[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]:=’T’)n++;retumn;}main(){charstr[][10]={’’Mon’’,’’Tue’’,’’
若有以下程序{}j}include<stdio.h>yoidsp(int*a){intb=2;*a=*a*2:printf(’’%d,’’,*a);a=&b:*a=*a*2:printf(’’%d,’’,*a);)main(){
有以下程序#include<stdi0-h>intfuna(inta,intb){retuma+b;}intfunb(inta,intb){returna-b;}intSSS(int(*t)0,intx,intY){return((*t)(x,y
给定程序MODll.C中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将:其插在串的最后。请改正程序中的错误,使它能进行正确的操作。注意:不要改动main函数,不得增行或删行,也不
给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下
有两个关系R,S如下由关系R通过运算得到关系S,则所使用的运算为()。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
软件测试的目的是()。
随机试题
在ASCII码表中,根据码值由小到大的排列顺序是()。
阴偏衰的病症多见于的脏是
急性广泛前壁心肌梗死溶栓治疗开通的患者,出院后定期到门诊随访,哪种做法没有必要或者不正确
国境卫生检疫按空间划分包括
小唾液腺分泌的唾液占唾液总量的
A.益气补血,健脾养心B.滋阴养血,补心安神C.养血安神,清热除烦D.和中缓急,养心安神E.清热泻火,镇心安神
形成津液不足病理状态的原因,下列哪一项是不确切的
不属于医院基本饮食的是
用语法范畴的理论,分析现代汉语的“着”、“了”、“过”以及“起来(干起来)”、“下去(说下去)”的语法意义。
简述我国中央对特别行政区行使的权力。(2013年法学综合课简答第32题)
最新回复
(
0
)