考试资讯
题库下载
在线刷题
视频课程
注册
登录
|
微信刷题
单项选择题
有如下程序
#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选项正确。
>>>立即刷题
相关动态
2020年计算机二级Word常考点汇总
二级建造师:工程建设标准的分类有哪些?
重庆市:2018年上半年CATTI笔译考试报名费用
基金从业考试各科就业方向有哪些?
2017年《社会工作综合能力(中级)》真题及答案汇总
开放式基金的认购举例-基金从业考试考点解析
热点动态
2020年全国职称计算机考试和职称英语考試取消了吗?到底还考不考?
2020年全国计算机一级考试题型及分值
二级Ms Office全国通过率22%,真的很难吗?
【历年真题】2020年8月《12656毛泽东思想和中国特色社会主义理论体系》自考试卷(含答案)
2021年【历年真题】4月《12656毛泽东思想和中国特色社会主义理论体系》自考试卷(含答案)
【历年真题】2020年10月《12656毛泽东思想和中国特色社会主义理论体系》自考试卷(含答案)
QQ客服:蓝老师
QQ客服:侯老师
QQ客服:袁老师