首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
26
问题
有以下程序:
#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://jikaoti.com/ti/LRz0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定函数MODll.C中函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。例如,若输入:77777,则输出将是:32767。请改正程序中的错误,使它能得
请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入“asdafaaz67”,则输出为“asdafaz67”。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa
若有以下程序段:structst{intn;int*m;};.inta=2,b=3,c=5;structsts[3]=({101,&a),{102,&c),{1
下列关于栈叙述正确的是()。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符x和y。以下所示的输入形式中正确的是()。(注:□代表空格字符)
软件需求规格说明书的作用不包括
软件测试的目的是()。
下列不属于软件工程3个要素的是()。
数据处理的最小单位是()。
随机试题
弯板中性层位置的改变与弯曲半径r和板料厚度t的比值大小有关。
多器官功能障碍综合征必须是
健康教育的理想目标是
临床治疗子痰初起,常选用的方剂是()
花头撕开后可见白色丝状绵毛的药材为
录像制品可将()等集于一体,富有感染力。
全国海事局在推动信息化监管,一位老同志在使用信息化系统时遇到故障。你是信息化监督系统的负责人。老同志来电,脾气非常暴躁,你怎么办?
AlanGreenspanoweshisreputationmuchto______.Fromthefifthparagraph,wecanlearnthat______.
求级数的收敛域.
Childrenareinneedofadoptionbecausesomebirthparentsareunableorunavailabletoprovideadequatelyfortheneedsofthe
最新回复
(
0
)