首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include <stdio.h> int* sum(int data) { static int init = 0; init += data; return &init; } main() { int i
有如下程序 #include <stdio.h> int* sum(int data) { static int init = 0; init += data; return &init; } main() { int i
admin
2021-04-28
73
问题
有如下程序
#include <stdio.h>
int* sum(int data)
{
static int init = 0;
init += data;
return &init;
}
main()
{
int i, *p;
for (i=1; i<=4; i++) sum(i);
p = sum(0);
printf("%d\n", *p);
}
程序运行后的输出结果是
选项
A、15
B、0
C、1
D、10
答案
D
解析
static变量又称为静态变量,编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。若定义时未赋初值,在编译时,系统自动赋初值为0;若定义时赋初值,则仅在编译时赋初值一次,程序运行后不再给变量赋初值。程序执行过程为:执行for循环,i=1,调用函数sum(1),data=1,init=0,init=init+data=1;i=2,调用函数sum(2),data=2,init=1,init=init+data=3;i=3,调用函数sum(3),data=3,init=3,init=init+data=6;i=4,调用函数sum(4),data=4,init=6,init=init+data=10;i=5退出for循环。调用函数sum(0),data=0,init=10,init=init+data=10,返回指向init的指针,输出init=10。D选项正确。
转载请注明原文地址:https://kaotiyun.com/show/DFtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2:elsed=3:printf(’’%d,%d,%d,%d\n’’,a,b,C,d);)程序输出
有以下程序#includevoidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;i
若有定义typedefintT[10];Ta[20];则与上述定义完全等价的说明语句是()。
若要求从键盘读入含有空格字符的字符串,应使用函数()。
下面不能作为结构化方法软件需求分析工具的是
数据库管理系统是
某系统结构图如下图所示(n≥5)该系统结构图的最大扇出数是()。
要求通过while循环不断读入字符,当读入字*N时结束循环。若变量已正确定义,以下正确的程序段是
某系统结构图如下图所示,则该结构图的深度是
随机试题
电弧灼眼的原因是什么?怎样防护?
实现分时系统的一种主要方式是()
下列人物中全属于道家的一项是()
A.正链RNA病毒B.负链RNA病毒C.双链RNA病毒D.双链DNA病毒逆转录病毒是
根据《工程咨询成果质量评价办法》,工业建设项目可行性研究报告的质量评价目标包括()。
答辩状、民事调解书、委托书、合同、可行性研究报告、公证书、议案都是司法性文件。()
有的地质学家认为,如果地球的未勘探地区中单位面积的平均石油储藏量能和已勘探地区一样的话,那么,目前关于地下未开采的能源含量的正确估计因此要乘上一万倍。由此可得出结论,全球的石油需求,至少可以在未来五个世纪中得到满足,即使此种需求每年呈加速上升的趋势。为使上
下列关于综合布线的描述中,正确的是
Aestheticthoughtofadistinctivelymodernbentemergedduringthe18thcentury.Thewesternphilosophersandcriticsofthist
Timeisveryimportantinourlives.It【S1】______oureverydaymoments.However,timeneverhadanyimportanceinmylifeuntilI
最新回复
(
0
)