首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include int * sum(int data) { static int init = 0; init += data; return &init; } main() { int i, *p; for (i=1; i
有如下程序 #include int * sum(int data) { static int init = 0; init += data; return &init; } main() { int i, *p; for (i=1; i
admin
2021-02-25
44
问题
有如下程序
#include
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、10
B、0
C、1
D、15
答案
A
解析
静态变量在定义时的初始化只运行一次,并且其值在程序运行过程中一直存在,所以函数sum()的作用是用静态变量init累加所有的调用sum()函数时传入的参数值。for循环中传入的参数为1,2,3,4,每次的计算结果为1,3,6,10。再次调用函数sun(0)时返回值为10,答案选A)。
转载请注明原文地址:https://kaotiyun.com/show/gEtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){inti,j;for(i=1;i
有以下程序intadd(inta,intb)main(){return(a+b);}{intk,(*f)(),a=5,b=10;f=add;……}则以下函数调用语句错误的是
有下列程序:structS{intn;inta[20];};voidflint*a,intn){inti;for(i=0;i
以下选项中,值为1的表达式是
若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—y)等价的是
以下fun函数返回数组中最大值的下标#includeintfun(int*s,intn){inti,k;for(i=0,k=i;i
构成计算机软件的是
下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3.b中的值为8。请改正程序中的错误,吏它能得出正确的结果。注意:不要改动main函数,不得增行或删行
下列各序列中不是堆的是()。
下列选项中,能够满足"只要字符串s1等于字符串s2,则执行ST"要求的是
随机试题
患者,男,35岁。2日来发热微恶寒,口苦,胁痛,尿短黄,大便粘臭,舌红苔薄白,脉数。其证候是
患者,男性,72岁。全身反复瘙痒8个月,伴睡眠欠佳。查体:全身皮肤黏膜无黄染,未见明显风团、结节和丘疹,躯干见散在抓痕。治疗原则中不包括
腭裂对患者的影响主要是
临床判断龋质是否去净,主要依据()。
预收账款属于()。
普通股股东行使资产收益权的限制条件包括()。
人口普查每10年进行一次,在逢5的年份实施()
S公司是10年前成立的高新技术企业。当时,公司员工只有100来人,因此,公司没有设置专门的培训与开发机构,培训与开发工作由人力资源部经理负责。随着公司规模的扩大和业务的拓展,目前公司的员工数量发展到近万人,而且在海外还设有分公司。公司高层逐渐意识到培训与开
“如果货币的储蓄额和销售回笼额都没有增长,那么货币的入股额一定增长”,以此为前提,若再增加一个前提,可以推出“货币的储蓄额事实上增长了”的结论。以下哪项可以是该增加的前提?
语文学
最新回复
(
0
)