首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
24
问题
有下列程序:
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全国计算机二级
相关试题推荐
下列函数值的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
有以下程序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);
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[5]={1,2,3,4,5};int*p=a,**q=&p;printf("%d,",*(p++));
C语言程序的基本单位是()
若有定义“char,*p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为()
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
设x、y、z均为int型变量,请写出描述"x或y中至少有一个小于z"的表达式______。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式正确的是(注:□代表空格字符)()。
随机试题
A.产后10天B.产后3周C.产后4周D.产后3~14天E.产后6周产妇心理调适的依赖-独立期为
每张处方限于
普查是指为了详细地了解某一方面的情况而专门组织的()。
除可以当场作出行政许可决定的外,行政机关应自受理行政许可申请之日起()日内作出行政许可决定。
行政系统的函用于平级和不相隶属机关之间相互商洽工作、询问和答复问题,向有关主管部门请求批准。()
有A、B、C、D外表一样、重量不同的四个小球。已知:A+B=C+D;A+D>B+C;A+C
tradedeficit
下面是管理项目时可能出现的四种风险。从客户的角度来看,如果没有管理好(58),将会造成最长久的影响。
ADO对象模型中,ReeordSet对象的AddNew方法的功能是()。
以下程序运行后的输出结果是【 】。main(){intx=0210;printf("%X\n",x);}
最新回复
(
0
)