首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 int a=3; main() {int s=0; { int a=5;s+=a++;} 8+=a++;printf(“%d\n”,s); } 程序运行后的输出结果是
有以下程序 int a=3; main() {int s=0; { int a=5;s+=a++;} 8+=a++;printf(“%d\n”,s); } 程序运行后的输出结果是
admin
2013-02-23
36
问题
有以下程序 int a=3; main() {int s=0; { int a=5;s+=a++;} 8+=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。
转载请注明原文地址:https://kaotiyun.com/show/g1Jp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是_____。
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、【】遍历和后序遍历。
已知各变量的类型说明如下:intk,a,b;unsignedlongw=5;doublex=142;则以下不符合c语言语法的表达式是______。
在数据流图(DFD)中,带有名字的箭头表示
设有以下定义的语句,则*(*(p+2)+1)的值为______。inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;
软件文档不仅是软件开发各阶段的重要依据,而且也影响软件的______。
先用以下语句定义字符型变量:charc;然后要将字符a赋给变量c,则下列语句中正确的是______。
设有以下声明语句structex{intx;floaty;charz;}example;则下面的叙述中不正确的是______。
下列叙述中,错误的是。
以下正确的说法是
随机试题
肉芽肿性炎
硝普钠作用是吗啡作用是
以重量法检查盐酸吗啡中“其他生物碱”的限度依据是
所谓“寒从中生”病机,主要是指
电梯的设计单位应当将设计总图等报送所在地区的省级政府()部门审查。
某工程项目,系一钢筋混凝土框架结构多层办公楼,施工图纸已齐备,现场已完成三通一平工作,满足开工条件。该工程由业主自筹建设资金,实行邀请招标发包。业主要求工程于2000年5月1日开工,至2001年4月30日完工,总工期为1年,共计365个日历天。按国家工期
所有错账更正法,均应由记账人员及相关人员在账簿记录更正处盖章以示负责。()
设A为m×n矩阵,以下命题正确的是()。
下列关于软件工程的描述中正确的是
Comparisonsweredrawnbetweenthedevelopmentoftelevisioninthe20thcenturyandthediffusionofprintinginthe15thand1
最新回复
(
0
)