首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
32
问题
有如下程序
#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全国计算机二级
相关试题推荐
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
设有定义:inta=l,b=2,c=3;以下语句中执行效果与其它三个不同的是
有以下程序#includemain(){inta[]={2,3,5,4},i;for(i=0;i
以下选项中,合法的是
以下叙述中错误的是
结构化程序设计的基本原则不包括( )。
设a和b均为int型变量,且a=6,b=11,则能使值为3的表达式是()。
“软件系统总体结构图,下面描述中错误的是
若有定义typedefint*T;Ta[10];则a的定义与下面哪个语句等价
设表的长度为n。下列算法中,最坏情况下比较次数小于n的是
随机试题
静脉系统成为外周的血液储存库,主要是由于()。
From【B1】______readingwecanderivepleasure,companionship,experience,andinstruction.Agoodbookmay【B2】______ourattention
甲向乙借款5万元,并以一台机器作抵押,办理了抵押登记。随后,甲又将该机器质押给丙。丙在占有该机器期间,将其交给丁修理,因拖欠修理费而被丁留置。下列说法正确的是()。
(2013)强度都为Q的两个源流,位于y轴原点两侧,距原点距离为m,则流函数为()。
行政机关作出行政行为应当考虑相关因素,不能考虑不相关因素。这是()原则的要求。
选取一定数量、符合一定条件、发生过交易的类似房地产,然后将它们与被估价房地产进行比较,对它们的实际成交价格进行适当处理来求取被估价房地产价值的方法是()。
劳动教养管理所应当对劳动教养人员民主管理委员会进行严格考核,符合要求的委员可以长期担任。()
据监测,本月A股市场资金流出持续增加,且明显高于上月,也高于去年同期,虽然还不能确定股票市场已经发生系统性风险,但未来证券市场的调控压力仍然很大。下列最有可能是上述论证前提假设的是:
下列形容天气的语句是:
三次独立试验中A发生的概率不变,若A至少发生一次的概率为,则一次试验中A发生的概率为_______。
最新回复
(
0
)