首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: int a=4; int f(int n) {int t=0;static int a=5; if(n%2){int a=6;t+=a++;} else{int a=7;t+=a++;} return t+a++; }
有下列程序: int a=4; int f(int n) {int t=0;static int a=5; if(n%2){int a=6;t+=a++;} else{int a=7;t+=a++;} return t+a++; }
admin
2019-08-18
58
问题
有下列程序:
int a=4;
int f(int n)
{int t=0;static int a=5;
if(n%2){int a=6;t+=a++;}
else{int a=7;t+=a++;}
return t+a++;
}
main()
{int s=a,i=0;
for(;i<2;i++)s+=f(i);
printf("%d\n",s);
}
程序运行后的输出结果是
选项
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/YlRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读以下程序#includemain(){intcase;floatprintF;printf("请输入2个数:");scanf("%d%f",&case,&printF);printf("%d%f\n",case,pr
有以下程序:#includeintfun(int(*s)[4],int11,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m
以下叙述中正确的是
以下结构体类型说明和变量定义中正确的是
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。请在程序的
请编写函数fun,其功能是:计算并输出3到n之问(含3和n)所有素数的平方根之和。例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。注意:要求n的值大于2但不大于100。部分源程序在文件PROG
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x<sup>3一4x<sup>2+3x一6=0的一个根,并要求绝对误差不超过0.001。例如,若给m输入一100,给n输入90,则函数求得的一个根为2.000。请改正程序中的错误
下列选项中不属于结构化程序设计方法的是
软件测试的实施步骤是
随机试题
Studiesshowthatthe【C1】______whohasconsumedanamountofalcohol【C2】______thelimitisnomore【C3】______tohaveanautomobil
眼球的屈光结构有
慢性化脓性中耳炎近期并发面瘫者,首要的处理是
临时医嘱
可按其严重程度,发生频率或症状的系统性列出的是生产企业根据各自样品稳定性考察的实测数据,制定本企业的中药品种的
张某于2000年3月成立一家个人独资企业。同年5月,该企业与甲公司签订一份买卖合同,根据合同,该企业应于同年8月支付给甲公司货款15万元,后该企业一直未支付该款项。2001年1月该企业解散。2003年5月,甲公司起诉张某,要求张某偿还上述15万元债务。下列
若有定义“inta,b,c;,想通过语句:scanf("%d,%d%d",&a,&b,&c);”把1、2、3分别输入给变量a、b、c,则正确的键盘输入是()。
图书表中有“出版日期”字段,若需查询出版日期在1990年到1999年出版物,正确的表达式是
Mostyoungpeopleenjoyphysicalactivities,walking,cycling,football,ormountaineering.Thesewhohaveapassion【C1】___
1/3+3/7=______
最新回复
(
0
)