首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
2018-10-16
55
问题
有下列程序:
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/9wxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);
C语言程序的基本单位是()
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【】。
有以下程序 main( ) { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); }
以下对结构体类型变量td的定义中,错误的是______。
设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()。
设x、y、z均为int型变量,请写出描述"x或y中至少有一个小于z"的表达式______。
当变量c的值不为2、4、6时,值也为“真”的表达式是
随机试题
小儿营养不良的血清学检查的特征性改变是
A.血液传播B.飞沫传播C.唾液传播D.食物传播E.蚊虫传播戊型肝炎是
氯化物检查时,制备对照溶液是用
下列不得设置施工废水排污口的区域是()。
企业年初未分配利润为200万元,本年实现净利润50万元,按10%提取盈余公积,同时宣告发放现金股利10万元,则当期应计提的盈余公积为()。(19.5)
被称为保密天堂的国家和地区一般具有()特征。
物业侧重于()角度。
你刚到单位,在言语上不自觉地得罪了一位老同志,致使这位老同志在工作中不给予你指导,还经常在别人面前批评你,你怎么办?
在服务回顾中,与客户回顾的内容包含()
ENTICE:INTEREST::
最新回复
(
0
)