首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 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
2009-01-15
51
问题
有以下程序 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;在这条语句中a加1,但表达式a++还是原来的值,故s=s+5,s为5,程序执行到外层,此时{}内定义的变量a不再有效,此时的变量a为{}之前定义的且初值为3,接着执行{}后面的语句s+=a++;相当于执行语句s=s+(++);即 s=5+3,最后值为8,所以最后输出的s值为8。所以4个选项中A正确。
转载请注明原文地址:https://kaotiyun.com/show/lBXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
假定在窗体上添加了一个通用对话框控件,其名称为CD1,并有如下程序段:CD1.ShowOpen:CD1.DefaultExt="doc"在打开文件的对话框中选择了"c:\filel.txt"文件,则FileTitle属性的值是
有数据定义语句:DimX,YAsInteger以上语句表明
深度为7的二叉树共有127个结点,则下列说法中错误的是
在标准模块中,将a定义为全局整型变量的语句是
下面叙述中错误的是()。
某人编写如F函数来判断a是否为素数,若是,则函数返旧True;否则返pIFalse。Functionprime(aAsInteger)AsBooleanDimkAsInteger,isprimeAsBoolean
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。
设a、b都是自然数,为求a除以b的余数,某人编写了以下函数:Functionfun(aAsInteger,bAsInteger)Whilea>ba=a-bWendfun=aEndFu
设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为()。
窗体上有名称为Commandl的命令按钮和名称为Textl的文本框PrivateSubCommandl_Click()Textl.Text="程序设计"Textl.SetFocusEndSubPrivateSubTextl_Go
随机试题
《伊戈尔远征记》是哪国的英雄史诗
Thetextisabout______.Marconiisafamousname______.
引起血液性缺氧的常见原因有()
下列不属于“五液”的是
下列哪一选项属于违反法官职业道德规范的情形?
开展融资融券业务试点的证券公司从事融资融券业务应遵守的原则有()
贷款风险分类应遵循不可拆分原则,即一笔贷款只能处于一种贷款形态,而不能同时处于多种贷款形态。()
小张在某中学任教,2010年全年个人收入明细如下所示:(1)月丁资收入6000元。(2)9月,取得合法偶然所得3000元。(3)某次外出演讲取得劳务报酬所得50000元。(4)依照国家规定取得的安家费20000元。(5)11月,在美国讲学
在一次同学聚会上,有人在议论和转发微信朋友群中一些歪曲时政的段子。作为一名公安民警,正确的做法是:
若检验统计量F近似等于1,说明()
最新回复
(
0
)