首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
47
问题
有如下程序
#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全国计算机二级
相关试题推荐
在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()。
以下叙述中错误的是
以下叙述中正确的是
设有课程关系模式如下:R(C#,Cn,T,Ta)(其中C#为课程号,Cn为课程名,T为教师名,Ta为教师地址)并且假定不同课程号可以有相同的课程名,每个课程号下只有一位任课教师,但每位教师可以有多门课程。该关系模式可进一步规范化为()。
下列选项中,不属于数据管理员(DBA)职责的是()。
设有如下函数定义intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是
合法的C语言数值常量是()。
某系统结构图如下图所示(n≥5)该系统结构图的最大扇出数是()。
对长度为n的线性表作快速排序,在最坏情况下,比较次数为
随机试题
我国三大政策性银行成立于()年。
颅内压增高的辅助检查首选【】
下列账户中,期末时应将其本期发生额结转入“本年利润”账户借方的是:()。
下列药物中仅具有抗痛风作用的是
医患沟通的必要性体现在()
经营素食的名店是()。
案例2:汽车运价规则第一章总则第一条为统一全国汽车运价计算办法,正确执行《价格法》和国家物价政策,促进汽车运输事业发展,制定本规则。第二条本规则是计算汽车运费的依据。凡参与营业性运输活动的经营者、旅客、托运人,均应遵守本
“君子欲化民成俗,其必由学乎”“建国君民,教学为先”体现了()的教育目的观。
WhatisthebasichonorintakingpartintheOlympicGames?Accordingtothepassage,theOlympicGamesarenotonlysportgam
A、Inatravelagency.B、Onacampus.C、Inabookshop.D、Inateachers’shop.B
最新回复
(
0
)