首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
23
问题
有如下程序
#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全国计算机二级
相关试题推荐
符有定义语句:doublex,y,*px,*py;执行px=&x;py=&y;正确的输入语句是
下列描述中,不符合良好程序设计风格要求的是-
以下程序段完全正确的是
有以下程序#includevoidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;i
有以下程序#includedoublefldoublex);main()doublef(doublex){doublea=0;inti;{returnx*x+1;}for(i=0;i
以下叙述中错误的是
若有定义typedefintT[10];Ta[20];则与上述定义完全等价的说明语句是()。
下列属于C语言合法的字符常数是()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
随机试题
参与外源性凝血途径的凝血因子包括
患者,男,48岁,肝硬化病史5年。查体:腹部膨隆,腹壁皮肤紧张发亮,脐周可见静脉迂曲。患者腹壁膨隆的最可能原因是
承载板法测试回弹模量试验的测试步骤如下。①测定土基的压力一变形曲线。②测定总影响量。③用千斤顶开始加载,注视测力环或压力表,至预压和稳压,使承载板与土基紧密接触,同时检查百分表的工作情况应正常,然后放松千斤顶油门卸载。
干式变压器800kV.A,10kV/0.4kV,下列保护可以不装的是()。
叉车护顶架是为保护司机免受重物落下造成伤害而设置的安全装置。下列关于叉车护顶架的说法中,错误的是()。
建筑采暖管道冲洗完毕后应()加热,进行试运行调试。
招投标活动的公开原则,首先要求( )。根据《招标投标法》,下列选项中( )可以不进行招标。
毛泽东同志指出。最大的政治是团结更多的同志一道工作。结合这个论述谈一下你参与竞聘具备哪些工作本领?
破解环境危机,与其探讨环保机制是否应该“垂直管理”等“权力”问题,不如探讨如何落实公民环境权利等“权利”问题,关于公民环境权利的落实问题,这是长期以来我们做得最不够的地方。联合国《人类环境宣言》明确指出,“人类有权在一种能够过尊严的和福利的生活环境中,享有
计算机主要技术指标通常是指()。
最新回复
(
0
)