首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: int a=3; main() { int s=0; { int a=5; s+=a++; ) s+=a++; printf(’%d\n’,s); } 程序运行后的输出结
有以下程序: int a=3; main() { int s=0; { int a=5; s+=a++; ) s+=a++; printf(’%d\n’,s); } 程序运行后的输出结
admin
2013-02-23
33
问题
有以下程序: int a=3; main() { int s=0; { int a=5; s+=a++; ) s+=a++; printf(’%d\n’,s); } 程序运行后的输出结果是( )。
选项
A、8
B、10
C、7
D、11
答案
1
解析
本题中定义一个全局变量a和一个局部变量a。局部变量和全局变量的不同在于,局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失,而全局变量是在函数外部任意位置上定义的变量,它的作用域从变量定义开始,到整个源文件结束为止。若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,起作用的将是局部变量,与同名的全局变量不发生任何关系。在程序中首先定义了变量s并赋值为0,接着在嵌套的复合语句{}中定义了变量a并赋初值为5,接着执行语句“s+=a++;”在这条语句中a加1,但表达式a++还是原来的值,故s=s+5,s为5,程序执行到外层,此时{}内定义的变量a不再有效,变量a为 {}之前定义的且初值为3,接着执行{}后面的语句“s+=a++;”,相当于执行语句“s=s+(a++);”即s=5+3,最后值为8,所以输出的 s值为8。故4个选项中A正确。
转载请注明原文地址:https://kaotiyun.com/show/fOPp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是()
若已包括头文件<stdio.h>且已有定义staticcharstr[9];,现要使str从键盘获取字符串"Thelady",应使用
下列二维数组初始化语句中,正确且与语句floata[][3]={0,3,8,0,9};等价的是
在面向对象方法学中,直接反映了用户对目标系统的要求的模型是【】。
以下关于宏与函数的叙述中正确的是()
下列数据中,不合法的C语言实型数据是
在数据流图(DFD)中,带有名字的箭头表示______。
如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是()
软件工程的出现是由于【】。
下面不属于软件设计原则的是______。
随机试题
在考生文件夹下有一个数据库文件“samp3.accdb”,其中存在已经设计好的表对象“tEmp”、查询对象“qEmp”和窗体对象“fEmp”。同时,给出窗体对象“fEmp”上两个按钮的单击事件的部分代码,请按以下要求补充设计。将查询对象“qEmp”改为
属于人体营养必需氨基酸的是参与嘌呤合成的氨基酸是
大量腹腔积液时肝脾触诊确定腹腔压痛点
患者,男性,35岁。反复出现食欲不振、畏食、呕吐、腹泻等消化不良现象,时感上腹闷胀或疼痛,上腹有轻压痛,胃酸分泌稍低于正常范围,血清胃泌素结果正常,诊断为“慢性胃窦胃炎”。不符合该病的表现是
区分新建和存量项目,以项目是否通过()为依据。
港口与航道工程中,高桩码头混凝土预制构件在预制场存放应符合下列规定:()。
某公司从传统生产方法向及时生产法转变后,可以预期仓库面积和仓库成本有怎样的变化?仓库面积仓库成本
因下列原因造成的误机(车、船)事故,属于责任事故的是()。
根据下列材料,回答以下问题2010年,我国进出口贸易总额29728亿美元,同比增长34.7%,其中,出口15779亿美元,增长31.3%,进口13948亿元,增长38.7%。2010年,出口钢材4256万吨,同比增长73%;进口钢材1643万吨,
A、图书馆B、书店C、电影B
最新回复
(
0
)