首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
92
问题
有下列程序:
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://www.kaotiyun.com/show/Jb3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>doublefunl(doublea[],intn){inti;doublesum=0.0;for(i=0;i<n;i++)SHm+=a[i]/n;returnsum;}voidf
以下叙述中错误的是()。
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。例如,字符串中的
有以下程序:#include<stdio.h>main(){char]]b,c;int]]i;b=’a’;c=’A’;for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}
有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)pnnff("%d",i+j);printf("\n");}}程序运行后的输出结果是(
有以下程序:#include<stdio.h>main(){ints;seanf("%d",&s);while(s>0)}switch(s){case1:prinff("%d",s+5);case2:prinff("%d",s+4);b
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:将a、b两个两位正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
软件系统总体结构图的作用是
程序流程图中带有箭头的线段表示的是
随机试题
中葡两国政府签署中葡关于澳门问题的联合声明的时间是【】
以下时期中小儿生长发育速度最快的是
三级医院药学部门负责人应
关于急性肾炎的治疗,错误的是
关于咳嗽的临床表现与分型A、感冒所伴随的咳嗽B、百日咳C、肺结核D、肺炎所伴随的咳嗽E、支气管病变所伴随的咳嗽起病突然,伴随有高热、寒战、胸痛、吐铁锈色痰
剪刀撑斜杆与地面的倾角宜为()之间。
不准用不符合财务会计制度规定的凭证顶替库存现金。
对于合同备案的变更,已经海关登记备案的加工贸易合同,其品名、规格、金额、数量、加工期限、单损耗、商品编码等发生变化的,须向直属海关办理合同备案变更手续,开设台账的合同还须变更台账。
OvershadowedbyrowsoverNigeriaandLockerbie,theCommonwealth’sattemptstorefocusontradeandinvestment—themaintheme
TheformersupervisortookpleasureinwritingaletterofrecommendationforMr.Chungsincehe_______tookcareofalltheass
最新回复
(
0
)