首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #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: }
有下列程序 #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: }
admin
2022-04-02
25
问题
有下列程序
#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,初值也是5。所以在main函数中,局部变量a屏蔽全局变量a;func函数中定义局部变量b,初值为5,定义静态变量c,初值为5,并且在func函数中变量a引用的是全局变量a。综上,我们使用a_a代表全局变量a,使用m_a代表main函数中局部变量a。main函数中,k=0时,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_--;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/Qhkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若程序中有宏定义行:#defineN100则以下叙述中正确的是
下列选项中,能正确定义数组的语句是
下列叙述中错误的是
程序流程图中带有箭头的线段表示的是()。
设有以下函数:voidfun(intn,char*s){…},则下列对函数指针的定义和赋值均正确的是()。
以下正确的说法是()。
已定义以下函数intfun(int*p){return*p;}fun函数返回值是
有以下程序(strcat函数用于连接两个字符串):#include<stdio.h>#include<string.h>main(){chara[20]="ABCD\0EFG\0",b[]="LIK";strcat(a,b);prinff
在软件开发中,需求分析阶段产生的主要文档是( )。
下列选项中,不属于模块间耦合的是()。
随机试题
A、妊娠合并心脏病B、胎位异常C、死胎D、新生儿头皮损伤E、产后出血涂甲紫,肌内注射维生素K
(2008年)图6—8中相互之间可以列总流伯努利方程的断面是()。
关于保证墙梁使用阶段安全可靠工作的下述见解,其中何项要求不妥?
()是建设项目业主项目管理团队的负责人,应是项目建设实施活动的领导者。
下列税务行政诉讼范围中,必须先经过税务行政复议程序的有()。
血液正常凝固基因H对不易凝固基因h为显性,则下图中甲、乙的基因型分别为()。
下图中大正方形ABCD的面积是16,其他点都是它所在边的中点,问阴影三角形面积是多少?
设A为三阶方阵,A的每行元素之和为5,AX=0的通解为k1求Aβ.
设z=f(χ,y)=χ2arctan-y2arctan,则=_______.
A、Shehadtoworkthroughoutherhoneymoon.B、Shehadnothingtododuringherhoneymoon.C、Shecouldn’tgoshoppinginherhone
最新回复
(
0
)