首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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;
有下列程序: 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;
admin
2016-12-28
47
问题
有下列程序:
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。在inl 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/VrDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidf(int*q){inti=0;for(;i
请选出正确的程序段
现有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};in
下面程序输出的结果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i
当运行以下程序时,从键盘输入AhaMA(空格)Aha,则下面程序的运行结果是#includemain(){chars[80],c=′a′;inti=0;scanf("%s",s);while(s[i]!=′
有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i
以下4个程序中,完全正确的是
有如下程序段inta=14,b=15,x;charc=′A′;x=(a&&b)&&(c
随机试题
β受体阻断剂用于
上颌骨骨折首选的X线检查方法是()
病史中最主要的部分是
案情:徐某系某市国有黄河商贸公司的经理,顾某系该公司的副经理。2005年,黄河商贸公司进行产权制度改革,将国有公司改制为管理层控股的股份有限公司。其中,徐某、顾某及其他15名干部职工分别占40%、30%、30%股份。在改制过程中,国有资产管理部门委托某资产
如果你的一位同事与你在工作中产生了矛盾,两人的关系也因此疏远起来,并在一定程度上影响了工作上的合作。对这件事的解决,你会()。
请你联系实际,谈谈对农业产业化这一问题的认识。
男性,52岁,1周来出现阵发性夜间心前区闷胀,伴出汗,每次持续约10分钟,能自行缓解,白天可正常工作。1小时前在熟睡中再发心前区胀痛,明显压抑感,自服速效救心丸无效,症状持续不缓解而来院。既往体健,无类似发作。入院检查心电图呈心前区导联sT段抬高。该患者最
新民主主义革命必须由无产阶级领导,这是()
[*]
Whendidcustomersbegintoprefersmallercars?WhydidDetroitputonlylimitedresourcesintosmall-carproduction?
最新回复
(
0
)