首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: #include<stdio.h> int a=5: int func(int d) { int b=5; static int c=5; a--;b--;--
有下列程序: #include<stdio.h> int a=5: int func(int d) { int b=5; static int c=5; a--;b--;--
admin
2022-10-25
45
问题
有下列程序:
#include<stdio.h>
int a=5:
int func(int d)
{
int b=5;
static int c=5;
a--;b--;--c;--d;
return a+b+c+d:
}
main()
{
int k,a=4;
for(k=0;k<3;k++)
printf(”%d,”,func(a--));
}
程序执行后的输出结果是( )。
选项
A、15,12,9,
B、15,13,11,
C、15,11,7,
D、15,15,15,
答案
A
解析
程序定义整型的全局变量a,初值为5,main函数定义整型局部变量a,初值为4。所以在main函数中,局部变量a屏蔽全局变量a。func函数中定义局部变量b,初值为5,定义静态变量c,初值为5,并且在func函数中变量a引用的是全局变量a。综上,我们使用a_a代表全局变量a,使用m_a代表main函数中局部变量a。main函数中,当k=0时,a_a-a=5,m_a=4,调用函数func(4),函数func中d的值为4,b的值为5,c的值为5,执行表达式“a_a﹣﹣;b﹣﹣;--c;--d;”后,a_a的值为4,b的值为4,c的值为4,d的值为3,a+b+c+d的值为15,程序输出15。当k=1时,a_a=4,m_a=3,调用函数func(3),函数func中d的值为3,b的值为5,c的值为4(静态变量使用上一次调用结束时的值),执行表达式“a_a--;b﹣﹣;﹣﹣c;﹣﹣d;”后,a—a的值为3,b的值为4,c的值为3,d的值为2,a+b+c+d的值为12,程序输出12。当k=2时,a_a=3,m_a=2,调用函数func(2),函数func中d的值为2,b的值为5,c的值为3,执行表达式“a_a﹣﹣;b﹣﹣;﹣﹣c;﹣﹣d;”后,a_a的值为2,b的值为4,c的值为2,d的值为1,a+b+c+d的值为9,程序输出9。本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/fCkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
结构化程序设计的基本原则不包括()。
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。注意:部分源程序在文件PROGl.C中
有以下程序:#includestruetord{intx,y;}dt[2]={1,2,3,4};main(){struetord*p=dt:printf("%d,",++
有以下程序:#includeintf(intm){staticintn=0;n+=m:returnn;}{main(){intn=0;p
有如下程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);其输出结果是()。
随机试题
福莱特学说的主要问题是她的溢于言表的_________。
频谱多普勒超声检测到从零位基线向上的血流频谱,表明血流是
A.情志抑郁B.惊恐C.悲伤D.大喜E.思虑过度与痫证发生密切相关的病因是
下列叙述错误的是
不符合动物诊疗规定的行为是
我国《合同法》规定,凡发生下列()情况的,允许解除合同。
某商业银行2011-2013年的收入情况如下所示,按照基本指标法计算出该行2014年应配置的操作风险监管资本是()。
备课是教师的课前准备,备课内容不包括()。
2012年末福建省常住人口3748万人,比上年增长7.01%。农村居民人均纯收入9967元,比上年增长13.5%,扣除价格因素,实际增长10.8%,城镇居民人均可支配收入28055元,比上年增长12.6%,扣除价格因素,实际增长10.0%,农村居民食品消费
TheUnitedNationscelebratedthe60th【B1】______ofitsCharteronMonday,thespeakersaddressingtheUNGeneralAssembly.UNS
最新回复
(
0
)