首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i+
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i+
admin
2010-06-06
38
问题
若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i++; return s; } int main() { int i,a = 0; for(i = 0;i<5;i++) a+=f(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是
选项
A、20
B、24
C、25
D、15
答案
D
解析
本题考核静态局部变量在函数中的使用。静态局部变量就是将局部变量说明为静态的。静态局部变量既有在局部域作用的特性(即变量只能在变量的作用范围内被访问),又可以永久存在(变量的值得以保留,并可继续使用)。静态局部变量只在第一次执行时初始化一次。在函数f中定义了一个静态局部变量i,它的初始值为0,还定义了一个局部变量s(它的初始值为1),用来返回计算所得值。函数f中所进行的数据加工是s+=i和i++。即每调用一次函数f,返回(i+1)的值后,i的值增1。再看主函数,在主函数main中,通过一个for语句连续调用f函数5次,并把每次调用f函数的返回值相加并存入a。最后输出a的值。在了解各函数功能以及调用关系后就可计算出a的值为15。
转载请注明原文地址:https://jikaoti.com/ti/hUW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>voidfull(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i<J){t=s[i];s[i]=s[J];s[j]=t;i++;j--;}
若有定义:typedefint*T:Ta[20];则以下与上述定义中a类型完全相同的是()。
下列叙述中错误的是
若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。
以下数组定义中错误的是()。
当没有指定c语言中函数形参的存储类别时,函数形参的存储类别是()。
关于数组和指针,以下说法错误的是()。
设变量均已正确定义,若要通过scanf(’’%d%c%d%c’’,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符x和y。以下所示的输入形式中正确的是()。(注:□代表空格
if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是
随机试题
企业登记机关应当自受理之日起5个工作日内完成对企业提交的年检材料中涉及登记事项、备案事项的有关内容的__________审查,需要对实质内容进行核实的除外。
2008年9月8日,朝鲜在平壤举行中央报告大会,隆重纪念朝鲜民主主义人民共和国建国( )
下列哪种情况不是应用组织扩张器的适应证
患者,男性,20岁,因肠痉挛,疼痛难忍就诊。社区护士建议患者缓解疼痛最好的方法是
建筑工程管理(CM)方法,是在建设项目初步设计文件被批准后,将施工图设计、施工招标及施工进行分阶段组织实施,并在全部工程竣工前,将已完部分工程分期分批交付使用。这样有利于()。
关于《标准施工合同》中暂列金额的表述,不正确的是()。
企业接受捐赠物资一批,将引起()。
货物报关的进口阶段是指进口货物收货人或其代理人根据海关对进境货物的监管要求,在货物进境时,向海关办理相关手续的过程,包括()环节。
房地产开发项目办理建设用地规划许可证应提交的设计文件是()。
中央银行与商业银行有哪些业务关系?
最新回复
(
0
)