首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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++;)
有下列程序: 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++;)
admin
2013-10-19
39
问题
有下列程序:
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++;)
retum 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(intn)函数中对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/EqJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请补全程序。S=1-1/3+1/5-1/7+…+1/(2n+1)voidfun(float*
以下程序的输出结果是______。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(1+1)];
设有以下声明语句streetex{intx;floaty;charz;}example;则下面的叙述中不正确的是______。
以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4voidSumColumMin(i
若有以下定义:chara;intb;floatc;doubled;则表达式“a*b+d-c”值的类型为()。
下面语句的输出结果是() pritnf("%d\n",strlen("\t\"\065"xff\n"));
以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。 #include<stdlib.h> structnode {chardata;s
下列属于不合法的C语言整型常量的选项是()。
对于基本类型机同的两个指针变量之间,不能进行的动算是()
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
随机试题
根据我国法律规定,当事人选择法律的行为或者变更法律选择的行为发生在()
C语言编译器是一种()。
小儿风湿热最易受累的心瓣膜是
晚期产后出血是指
混合资本债券到期时,如果发行人无力支付清偿顺序在该债券之前的债务或支付该债券将导致无力支付清偿顺序在混合资本债券之前的债务,发行人只可以延期支付该债券的利息。()
执行户口管理制度,做好户籍管理和人口统计工作,负责管理户籍、掌握户口动态等户政工作的人民警察属于()。
下列没有语病的一项是()。
设,试讨论f(x)在x=0处的连续性和可导性.
设λ=2是非奇异矩阵A的一个特征值,则矩阵有特征值()
【B1】【B17】
最新回复
(
0
)