首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return
有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return
admin
2009-06-20
34
问题
有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return (a++) + c; } main() { int i, k=0; for(i=0;i<2;i++) { int a=3; k += f(a); k +=a; printf("%d\n",k); }
选项
A、14
B、15
C、16
D、17
答案
A
解析
静态局部变量的作用域跟一般局部变量相同,都是从声明处开始到声明所在函数或语句块结束为止。但静态局部变量的生存周期却是从第1次执行到该静态局部变量的声明语句时起,直到程序结束。而—般局部变量的生存周期到离开它的作用域时就结束了。本题的f()函数中static int a=2;语句就声明了一个静态局部变量a,并初始化为2。主函数中,通过一个for循环连着调用了2次f()函数。两次调用形参c都为3,f()函数中让c增1变为4,然后输出(a++) +c,第1次调用a为2,所以输出结果为3+4=6,而第2次调用a被上次调用时的++运算符增1,所以为3,输出结果为3+4=7。所以主函数for循环结束后,k的值是13,下面一条k+=a;语句中的a是全局变量a,值为1。故最终输出结果是14,应该选择 A。
转载请注明原文地址:https://kaotiyun.com/show/R6Wp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序:PrivateSubForm_Click()DimSAsInteger,NAsIntegerS=0DoS=(S+1)*(S+2)N=N
如果把命令按钮的Cancel属性设置为True,则程序运行后( )。
以下关于多重窗体程序的叙述中,错误的是( )。
以下关于菜单的叙述中错误的是
以下关于图片框、图像框的叙述中,正确的是
下列叙述中正确的是()。
关于菜单设计,下列叙述中错误的是()。
下列数组定义中错误的是( )。
在考生文件夹下有一个工程文件sjt5.vbp,在其窗体中有一个实心圆。程序运行时。当用鼠标左键单击窗体任何空白位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序
随机试题
最高人民法院在有关司法解释中指出:人民法院审理宣告婚姻无效案件,对婚姻效力的审理()
在典型生长曲线中,细胞形态最不规则的是:
若某企业的速动比率为2,流动负债为160万元,存货200万元,则相应的速动比率为()
《国家新型城镇化规划》提出“以城市群为主体形态,推动大中小城市和小城镇协调发展”,其主要是指()
电缆槽盒是采用()mm钢板压制而成。
对建设、监理单位施工现场综合考评的内容是()。
我国民法调整的范围是()。(2009年)
流动性资产包括()。
美国儿童文学之父是()。
TogettoKaytie’shouse,Camillamustrideherbicycle8milessouthandthen6mileswest.Whatistheshortestdistance,inm
最新回复
(
0
)