首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: int a=4; int f(int n) { int t=0; static int a=5; if(n%2) {int a=6; t+=a++;} else {int a=7; t+=a++;}
有以下程序: int a=4; int f(int n) { int t=0; static int a=5; if(n%2) {int a=6; t+=a++;} else {int a=7; t+=a++;}
admin
2009-01-15
19
问题
有以下程序: int a=4; int f(int n) { int t=0; static int a=5; if(n%2) {int a=6; t+=a++;} else {int a=7; t+=a++;} return t+a++; } main() { int s=a,i=0; for(;i<2; i++) s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。
选项
A、24
B、28
C、32
D、36
答案
2
解析
题目中第1行声明了一个全局变量a,在函数f()中,也声明了一个静态变量a,这时全局变量被屏蔽,即在f()函数中用到的a是其内部定义的这个静态变量a,而不是全局变量。但f()函数的if子句和else子句又分别了局部变量a,这时静态变量a又被屏蔽,即在if子句中使用的是if子句自己定义的a,else子句也是这样。在主函数中,通过for语句连续执行了2次f()函数,并将返回值累加到s中,且s被全局变量a初始化,即初始值是4。第1次调用f(),参数值为0,0能被2整除,执行if子句,t被自增6,a增1不会影响外面的变量a。函数返回t和静态变量a的和,即11,此时,静态变量a被增1,这次对a的改变会带入到下一次f()函数的调用小去。第2次调用f(),参数值为1,1不能被2整除,执行else子句,t被自增7,a增1不会影响外面的变量a。函数返回t和静态变量a的和,此时a的值为上次调用f()时增1后的值6,即返回7+6=13。所以,主函数中s现在的值为4+11+13=28。故应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/r6Xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若要把窗体上命令按钮Command1的状态设置为不可用,应该执行的命令是
以下不能设置Picture属性的控件是()。
以下打开VisualBasic菜单编辑器的操作中,错误的是
下列各组的排序方法中,最坏情况下比较次数相同的是
下面叙述中错误的是
在某个事件过程中定义的变量是
在考生文件夹下有一个工程文件sjt4.vbp,请在窗体上画两个复选框,名称分别为Chl、Ch2,标题分别为”程序设计”、”数据库原理”;然后画一个文本框,名称为Textl;再画一个命令按钮,名称为C1,标题为”确定”(如图2-209所示)。请编写适当的事件
以下关系表达式中,其值为True的是()。
构成计算机软件的是
窗体上有名称为Commandl的命令按钮和名称为Textl的文本框PrivateSubCommandl_Click()Text1.Text=-”程序设计”Text1.SetFocusEndSub
随机试题
A.1:5000高锰酸钾B.2%碳酸氢钠C.0.3%H2O2D.5%硫酸钠镇静药物中毒的洗胃液是
下列黄酮类化合物中,具有抗菌消炎作用的是
工程项目逻辑框架的()分析集中在垂直逻辑的假定条件和水平逻辑的项目总目标中。
下列对私募股权基金的表述中,正确的是()。
下列各类贷款利率中,()实行一年一定。
翔宇公司为了骗取资金,谎称自己拥有一项技术专利权,而与某上市公司洽谈签订技术转让合同。在此过程中,上市公司耗费了大量的人力物力从事此事。所幸的是,在合同签订之前,上市公司发现了真相,没有造成更大的损失。但上市公司在此过程中,已经投入了5万元。在合同
A公司目前股票价格为每股10元,流通在外的普通股为500,000股。公司的负债为5,000,000元。债务资本成本为10%,权益资本成本为20%,不考虑税收。公司在某个时间回购了100,000股的股份。回购前,公司的股票价格是多少,相比回购前如何变化?
A、 B、 C、 D、 E、 A
A、Inapark.B、Onacampus.C、Atadowntownstreet.D、Atabusstop.B
A、Becausetheycandobetterthanothers.B、Becausetheydon’twanttobehelped.C、Becauseitisexpensivetohirelabor.D、Bec
最新回复
(
0
)