首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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++;}
有下列程序: 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++;}
admin
2020-11-23
48
问题
有下列程序:
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。在intf(int n)函数中定义了局部静态整型变量并进行了初始化即static inta=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/n83p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下与存储类别有关的四组说明符中,全部属于静态类的一组是()。
下列叙述中正确的是()。
有以下程序:#include<stdio.h>int*f(int*s,int*t){intk;if(*s<*t){k=*s;*s=*t;*t=k;}returns;
软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。下面各项中属于应用软件的是()。
当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的()。
有三个关系R,S和T如下图所示:则由关系R和S得到关系T的运算是()。
数据库系统的数据独立性是指()。
下面可以作为软件需求分析工具的是()。
将自然数集设为整数类Ⅰ,则下面属于类Ⅰ实例的是()。
以下关于C语言数据类型使用的叙述中错误的是()。
随机试题
抗消化性溃疡药的分类及代表药搭配正确的是
时分多路复用可分为同步时分多路复用和异步时分多路复用,按着固定的顺序把时隙分配给各路信号,称为_________。
简述性格特征的分析。
超过20小时的开放性胫骨粉碎性骨折的处理方法中,正确的是
容积性泻药的作用特点是
初级卫生保健的工作内容不包括
某房地产开发公司甲与乙联合在某市土地管理部门举行的某市西部的一片洼地土地使用权出让的拍卖会上,以公开竞价的方式取得该洼地的土地使用权。然而房地产开发公司甲在取得使用权之后,进行详细投资论证过程中,发现若按该市土地管理部门所规定进行房屋建设工程的用途投资开发
某建筑安装的自动喷水灭火系统的设计工作压力为1.8MPa,现对此进行水压测试,检测人员的下列做法,错误的是()。
甲企业向银行借款150万元,乙企业为甲企业的贷款提供保证,后经银行同意,甲企业将其中的50万元债务转让给丙企业,但是该转让行为未经乙企业的书面同意,根据《担保法解释》的规定,下列说法中,正确的是()。
A、HegotangrywithhisbossB、HealwaysgottoworklateC、HewasfrequentlysickandabsentfromworkD、Hepreparedafinancia
最新回复
(
0
)