首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #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
56
问题
有下列程序
#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://www.kaotiyun.com/show/Qhkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列选项中,能正确定义数组的语句是
设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为()。
以下叙述中正确的是
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
有以下程序main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n)
下面选项中关于位运算的叙述正确的是()。
有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf("%d\n",fun("good
软件设计中模块划分应遵循的准则是()。
检查软件产品是否符合需求定义的过程称为()。
关于C语言程序的下列说法中,正确的是()。
随机试题
=_________.
阅读《冯谖客孟尝君》中的一段文字,回答下列问题:后期年,齐王谓孟尝君日:“寡人不敢以先王之臣为臣。”孟尝君就国于薛。未至百里,民扶老携幼,迎君道中。孟尝君顾谓冯谖日:“先生所为文市义者,乃今日见之。”冯谖曰:“狡兔有三窟,仅得免其死耳。今君有一窟
结核分枝杆菌抗酸染色,菌体呈
原发性高血压病之痰湿中阻证宜选用方原发性高血压病之阴虚阳亢证宜选用方
对于在消费者集中的商业繁华区的用户,配送一般适合采用()。
我国历史地名作为一种文化遗存,与当地的民俗、传说、宗教信仰、历史人物等密切相关。以传统村落为例,其命名方式虽有不同,但都包含了深厚的文化。不少村落以最早迁居于此的始祖来命名,如岳阳的张谷英村、新乡的郭亮村。有的则与当地的人文环境相关,如长治的八义村.汉代因
简述公元前4世纪希腊的城邦危机。
我国改革开放以来,在社会主义可以实行市场经济的理论的重大突破是______。
在ADO.NET中,要执行一条添加数据的SQI_,命令,必须创建的对象是()。
A、Takeweddingphotos.B、Advertisehercompany.C、Startasmallbusiness.D、Throwacelebrationparty.A对话中男士说,他会在婚礼期间拍摄照片,并把这些照
最新回复
(
0
)