首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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++;}
有下列程序: 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++;}
admin
2020-11-23
28
问题
有下列程序:
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++;}”和“return t+a++;”这两条语句,这时t=6,a=6(静态局部变量第一次循环后其值加1值不释放,执行第二次循环量,其值仍有效),所以f(1)的返回值等于12。再在主函数中执行s+=f(1)语句。即16+12=28。
转载请注明原文地址:https://kaotiyun.com/show/n83p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段:intm=33,n=66;m=m^n;n=n^m;m=m^n;执行上述语句后,m和n的值分别是()。
若有C语言表达式2+3*4+7/3,以下选项中叙述正确的执行顺序是()。
有以下程序I#includemain(){inti,*ptr;intarray[4]={0,1};for(ptr=array,i=0;i
以下叙述中错误的是()。
以下不能将s所指字符串正确复制到t所指存储空间的是()。
有三个关系R,S和T如下图所示:则由关系R和S得到关系T的运算是()。
下面对软件测试描述错误的是()。
下列叙述中错误的是()。
以下关于C语言数据类型使用的叙述中错误的是()。
一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。
随机试题
编制附着式升降脚手架作业专项施工方案应重点考虑的是()。
下列哪几对脑神经连于延髓?()
患者男性,学生,20岁,患1型糖尿病2年,因感冒,体温39.2℃、食欲减退、恶心呕吐及腹痛入院。该患者因血糖控制不满意,每餐加用胰岛素2个单位,患者主诉注射胰岛素后约5小时,出现头晕、心慌、出汗、软弱无力感。考虑患者最有可能是
A、Na+B、葡萄糖C、清蛋白D、纤维蛋白E、球蛋白血液凝固的实质是生成了
海因里希事故连锁理论把事故发生过程概括为五个部分,即()。
根据外汇管理法律制度的规定,以欺骗手段将境内资本转移至境外的行为是()。(2013年)
Inthefollowingtext,somesentenceshavebeenremoved.ForQuestions41-45,choosethemostsuitableonefromthelist(A、B、C、
在某Cisco路由器上使用命令"snmp-serverhost212.103.77.5system"进行SNMP设置,如果在管理站212.103.77.5上能够正常接收来自该路由器的通知,那么下列描述中错误的是()
Forthispart,youareallowed30minutestowriteanessay.Youshouldstartyouressaywithabriefdescriptionofthepicture
Thoreausaideducationoftenmadestraight-cutditchesoutoftwistingsmallstreams.ButnotattheEcoDorm,whichhouses36
最新回复
(
0
)