首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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
51
问题
有以下程序 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://www.kaotiyun.com/show/g1Jp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下定义和语句,则输出结果是______。intu=010,v=0x10,w=10;printf("%d,%d,%d\n,u,v,w);
有如下程序段:#include<stdio.h>#defineMax(a,B)a>b?a:bmain(){inta=5,b=6,c=4,d;d=c+Max(a,b);printf("%d",d)
下列程序的运行结果是【】。#include<stdio.h>voidmain(){ints=0,k;for(k=7;k>4;k--){switch(k){
数据的逻辑结构有线性结构和【】两大类。
下列关于字符串的说法中错误的是
设顺序输入数列为:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每个结点的查找概率相同,若用顺序存储方式组织该数列,则查找一个数成功的平均比较次数为【】;若按二叉排序树结构组织该数列,则查找一个数成功的平均比较次数
下列写法正确的是()
下列写法正确的是()。
若想定义int型变量a,b,c,d并都赋值为1,以下写法中错误的是()。
随机试题
某国有资金投资占控股地位的公用建设项目,施工图设计文件已经相关行政主管部门批准,建设单位采用了公开招标的方式进行施工招标。招标过程中部分工作内容如下:(1)2019年3月1日,发布该工程项目施工招标公告的内容包括:①招标单位的名称和地址;②招标项目
库房内垛距一般为()。
下列哪些情形下的房地产可以转让?
咨询工程师在项目实施阶段的主要工作有:()。
下列可作为蓄水安全鉴定依据的有()。
茶叶属于:
2015年10月1日,甲公司按面值发行债券10000000元,并用来建造厂房,债券期限为3年,到期一次还本付息,票面利率与实际利率为6%。厂房建造于2015年初开工,2015年12月31日尚未完工,应编制的会计分录为()。
《物业管理条例》规定,业主在首次业主大会会议上的投票权,根据业主拥有物业的()等因素确定。
Whatdoesthespeakerdescribeasoutstanding?
Nowthatyou’vegottenalittlemoreconfident,we’regoingtogiveyoutheopportunitytopractice"withoutthetrainingwheels
最新回复
(
0
)