首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
70
问题
有如下程序
#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;正确的输入语句是
下列描述中,不符合良好程序设计风格要求的是-
下面选项中关于位运算的叙述正确的是
以下叙述中错误的是
以下叙述中正确的是
下面对“对象”概念描述正确的是()。
设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的人队与退队操作后,front=m,rear=m-1,此后从该循环队列中删除一个元素,则队列中的元素个数为()。
设有如下函数定义intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是
要求通过while循环不断读入字符,当读入字*N时结束循环。若变量已正确定义,以下正确的程序段是
下面属于黑盒测试方法的是
随机试题
12型链条式抽油机的优点有哪些?
投资业务的会计核算控制制度设计主要包括哪些内容?
母亲要求儿子从小就努力学外语,儿子说:“我长大又不想当翻译,何必学外语。”儿子的回答与下面哪项有同样的逻辑错误?()
丸剂的特点是
患者左下第一前磨牙三天来遇冷食痛,刺激去除后疼痛持续十数秒后消失。查见该牙近中边缘嵴略透暗色,探诊龋深,未发现穿髓孔。为诊断应选用的检查方法是
根据《遥感影像公开使用管理规定(试行)》,公开使用的影像地面分辨率不得优于()m。
甲公司为上市公司,该公司内部审计部门在对其2016年度财务报表进行内审时,对以下交易或事项的会计处理提出疑问:(1)2016年3月31日,甲公司与丙公司签订合同,自丙公司购买不需安装的设备供管理部门使用,合同价款为6000万元,该设备当日运抵甲公司并投入
企业同其债务人的关系体现的是债务与债权的关系。()
Listentothefollowingpassage.Altogetherthepassagewillbereadtoyoufourtimes.Duringthefirstreading,whichwillbe
若市场处于反向市场,多头投机者应()。
最新回复
(
0
)