首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include int f(int n); main() { int a=3,s; s=f(a);s=s+f(a);prinff(“%d\n”,s); } int f(int n)
有以下程序: #include int f(int n); main() { int a=3,s; s=f(a);s=s+f(a);prinff(“%d\n”,s); } int f(int n)
admin
2021-04-28
48
问题
有以下程序:
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);prinff(“%d\n”,s);
}
int f(int n)
{ static int a=1;
n+=a++:
retum n:
}
程序运行后的输出结果是( )。
选项
A、7
B、8
C、9
D、10
答案
C
解析
首先main函数中的局部变量a和f()函数中的静态局部变量a的作用域都只限在其所在的函数中,相互之间不影响,看作两个不同的变量即可。另外,f()函数中的静态局部变量a只在第一次调用f()函数时初始化一次,其他调用都会保留上一次调用结束时的值。分析main函数可知,第一次调用时将f(a)的返回值赋给s,所以语句可以改写为:s=f(a)+f(a),即main函数中调用两次f(a),传入的参数8取值都为3,第一次调用时,静态局部变量初始化为1,所以n=4并返回,a自增为2;第二次调用时静态局部变量a取上一次调用结束时的值2,所以n=5并返回,a自增为3。所以在main()函数中,s=4+5=9,所以函数执行完输出结果为9,答案为C。
转载请注明原文地址:https://jikaoti.com/ti/wfz0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){ease0:a++;break;case1:b++;break;}
有以下程序段intk=0,a=1,b=2,c=3;k=ac?c:k;执行程序段后,k的值是
以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)
在下列选项中,没有构成死循环的程序段是()。
有以下程序#includedoublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%3.0f\n",a);}doublef(doub
以下选项中不能作为C语言合法常量的是()。
在一个C源程序中所定义的全局变量,其作用域为
随机试题
单击Windows任务栏中的“开始”按钮,将鼠标指针移动到()命令,再单击它的级联菜单中的“MicrosoftWord”可启动Word。
滤过是指易化扩散是指
能润肠通便,富含油脂,治老人、虚人便秘多用的药物是()
成人末梢血白细胞计数正常参考值()。
中央分隔带纵向盲沟的反滤层材料可选择()。
免赔额是保险公司要求投保人根据其不同的损失,自负一定的责任,即由被保险人承担的损失额。关于建筑工程一切险的免赔额,下列说法正确的是( )。
下列犯罪嫌疑人、被告人中,哪个不适用取保候审?()
Researchersinvestigatingbrainsizeandmentalabilitysaytheirworkoffersevidencethateducationprotectsthemindfromthe
"Hightech"and"state-of-the-art"aretwoexpressionsthatdescribeverymoderntechnology.Hightechisjustashorterwayof
Questions29-33ReadingPassage3hassevenparagraphsA-G.ChoosethemostsuitableheadingsforparagraphsC-Gfromthelisto
最新回复
(
0
)