首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<stdio.h> int f(int n); main() {int a=3,s; S=f(a);s=s+f(a);printf("%d\n",s); } int f(int n) {statie int a=1; n+=a
有以下程序: #include<stdio.h> int f(int n); main() {int a=3,s; S=f(a);s=s+f(a);printf("%d\n",s); } int f(int n) {statie int a=1; n+=a
admin
2021-07-09
27
问题
有以下程序:
#include<stdio.h>
int f(int n);
main()
{int a=3,s;
S=f(a);s=s+f(a);printf("%d\n",s);
}
int f(int n)
{statie int a=1;
n+=a++:
return n;
}
程序运行后的输出结果是( )。
选项
A、7
B、8
C、9
D、10
答案
C
解析
首先main函数中的局部变量a和f()函数中的静态局部变量a的作用域都只限在其所在的函数中,相互之间不影响,看作两个小同的变量即可。另外,f()函数中的静态局部变量a只在第一次调用f()函数时初始化一次,其他调用都会保留上一次渊用结束时的值。分析main函数可知,第一次调用时将f(a)的返回值赋给s,所以语句可以改写为:s=f(a)+f(a),即main函数中调用两次f(a),传入的参数a取值都为3,第一次调用时,静态局部变量初始化为1,所以n=4并返回,a自增为2;第二次调用时静态局部变量a取上一次调用结束时的值2,所以n=5并返回,a自增为3,所以在main()函数中,s=4+5=9,所以函数执行完输出结果为9,答案为C。
转载请注明原文地址:https://kaotiyun.com/show/V4tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
程序设计的任务包括()。
若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
为了使模块尽可能独立,要求()。
设有说明int(*ptr)[M];其中的标识符ptr是()。
若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是()。
以下选项中不合法的标识符是( )。
有以下程序段int*p;p=_______malloc(sizeof(int));若要求使P指向一个int型的动态存储单元,在横线处应填入的是
在软件开发中,需求分析阶段产生的主要文档是()。
设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是
以下可以正确且安全的用作用户标识符的一组选项是()。
随机试题
现代社会学通常采用特定的符号图式分析家庭结构,表示【】
胆固醇在体内代谢的主要去路是
药物的各种给药方式,使药物起效由快到慢的顺序是
紫珠的功效是
长上公司与艺海公司在履行合同过程中发生了纠纷。长上公司按照仲裁条款向选定的石家庄市仲裁委员会提交了仲裁申请。下列关于该案仲裁庭的组成的表述哪个是错误的?
对于抵押房屋的补偿、安置说法正确的是()。
LTE中无线接入网的名称是什么?()
国务院某部委出台一部行政规章,规定对某种行政违法行为不仅要处罚该单位,还要给予直接责任人罚款的处罚。但有关规定这一违法行为处罚的行政法规并没有规定对直接责任人给予行政处罚。以下表述错误的是()。
给定材料材料12014年1月15日上午九点,在A村,几个村民抬着装有人民币的大箩筐从村委会出来。随后,工作人员将钱整齐地摆放在院子正前方的办公桌上,垒起了2米多长的“钱墙”,十分霸气。据悉,这些现金大部分是还未拆去塑料膜的崭新人民币,一
将考生文件夹下HWAST文件夹中的文件XIAN.FPT重命名为YANG.FPT。
最新回复
(
0
)