首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
44
问题
有下列程序:
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全国计算机二级
相关试题推荐
当执行下.面的程序时,其输出结果为______。unionst{inta;charb;}main(){unionsts;char*p=(char*)
下面程序用来输出结构体变量a所占存储单元的字节数,请填空。main(){structstu{charx[20];floaty;}a;printf("asize:%d\n",sizeof(【】));
下面程序的输出结果是()。chars()="ABCD",*p;main(){for(p=s;p<s+4;p++)printf("%s\n",p);)
以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输人数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next=NULL).#include<stdio.h>structlist{
以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。 #include<stdlib.h> structnode {chardata;s
以下选项中可作为C语言合法整数的是()。
下列不属于软件工程三要素的是
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
对于基本类型机同的两个指针变量之间,不能进行的动算是()
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
随机试题
有机磷农药中毒的主要死因是()
胆固醇合成限速酶是
A.硫胺素酶B.长喙壳菌和茄病镰刀菌C.游离棉酚D.硫葡萄糖苷E.生氰糖苷动物出现棉籽与棉籽饼粕中毒,是因为饲料中含有
房地产开发活动可以从资本形态和现金形态两个方面进行考虑。()
无差异曲线的位置和形状取决于()。
没有剔除通货膨胀因素的利率,也就是借款合同或单据上标明的利率,称为()。
某教师在“人体代谢废物的排出”这部分教学时,指导学生构建如下的概念图,结合该图请回答下列问题。人体代谢废物排出意义是_______。
社会主义精神文明建设的重要战略地位是
Makinggoodcoffeeisnotasimplebusiness.Coffeebushesmustbegrowninshade.Ahillsideisbest—butitmustn’tbetoo(1)_
Accordingtotheexperiments,manyblindpeople
最新回复
(
0
)