首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: int a:4: int f(int n) main() { int t=0: static int a=5; {int s=a,i=0; if(n%2){i
有下列程序: int a:4: int f(int n) main() { int t=0: static int a=5; {int s=a,i=0; if(n%2){i
admin
2020-07-28
45
问题
有下列程序:
int a:4:
int f(int n) main()
{ int t=0: static int a=5; {int s=a,i=0;
if(n%2){int a=6;t+=a++;} for(;i<2;i++)s+=f(i);
else{int a=7;t+=a++;} printf("%d\n",s);
return t+a++;} }
程序运行后的输出结果是
选项
A、28
B、24
C、32
D、36
答案
A
解析
程序中定义了全局整型变量a=4。在int f(int n)函数中定义了局部静态整型变量并进行了初始化即static int a=5。在int f(int n)函数中对n是否是偶数进行判断,如果n是奇数,则函数的返回值为11,局部静态整型变量a=6;如果n是偶数,则函数的返回值为12,局部静态整型变量a=6。所以在main()函数中循环首先执行s+=f(0)语句,而f(0)返回值12,所以第一次循环结束s的值等于4+12=16:第二次开始执行f(1)时,在f(1)中执行“if(n%2){int a=6;t+=a++;}”和“return t+a++;”这两条语句,这时t=6,a=6(静态局部变量第一次循环后其值加1值不释放,执行第二次循环量,其值仍有效),所以f(1)的返回值等于12。再在主函数中执行s+=f[1)语句,即16+12=28。
转载请注明原文地址:https://kaotiyun.com/show/Jb3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序#include<stdio.h>structgroup{intfirst,second,third;};structgroupget_min_max_sum(int*array,intlen){inti;struc
以下叙述中错误的是()。
下列选项中属于面向对象设计方法主要特征的是()。
以下给定程序中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16
以下叙述中错误的是()。
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过
下列给定程序中,函数fun的功能是:删除指针p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用’#’结束输入。请改正程序中的错误,使它能输出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include
以下是while语句的基本形式:while(表达式){语句;)其中“表达式”()。
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcb
关于“while(条件表达式)循环体”,以下叙述正确的是
随机试题
首先创用了无菌操作技术的是()
城市土地利用总体规划的内容有【】
生活性中毒发生于
脊髓灰质炎的病人
水利水电工程水土保持监理应对淤地坝、拦渣坝(墙、堤)、渠系、道路、泥石流防治及坡面水系等工程的隐蔽工程、关键工序进行()。
在劳动力的边际收益递减规律中,通常把()视为可变要素。
财政职能是指()的职能。
下列属于商业银行营业外支出的有()。
在教育心理学的研究中,通过其他有关材料,间接了解被试者的心理活动的方法是()
A、Inthenextthreetofiveyears.B、Insevenyears.C、Inthenextonetothreeyears.D、Intwoyears.A选项都是与时间有关的。题目问的是冷却板技术什么
最新回复
(
0
)