首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
34
问题
有下列程序:
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://kaotiyun.com/show/n83p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下叙述中错误的是()。
有以下程序:#includeinta=2;intf(intk){staticintn;intm;m=n=0:n++;a++;m++;k++;returnn+m
设有定义语句int(*f)(int);,则以下叙述中正确的是()。
有下列程序#include<stdio.h>int*f(int*s){s+=1;s[1]+=6;*s+++=7;returns;{main(){inta[5]={1,2,3,4,5},*p;p=f(&a[1]);prinff("
下面结构体的定义语句中,错误的是()。【09年9月】
有以下程序I#includemain(){inti,*ptr;intarray[4]={0,1};for(ptr=array,i=0;i
有以下程序:#includemain(){inti,j,m=1;for(i=1;i<3;i++){for(j:3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf("m=%d\n",m);}程
以下叙述正确的是()。
若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的是()。
下面不属于结构化程序设计原则的是()。
随机试题
A3’至5’BC端至N端C5’至3’D一个点向两个方向同时进行EN端至C端肽链的生物合成方向()
A.井穴B.荥穴C.输穴D.合穴按五行规律,肝实证时,取本经进行治疗。
下列哪项是早期胃癌的诊断依据
初产妇,31岁。孕24周前来复诊,诉近日饮食、睡眠均正常,但常发生下肢肌肉抽搐,尤其是夜间静卧当腿伸直时更为剧烈,且觉小腿疼痛。采取的首要护理措施是
卫生篇章审查要点
下列哪种外科感染不需使用抗生素治疗
一份凭证应纳税额超过100元的,纳税人应当向当地税务机关申请填写缴款书或完税证,将其中一联粘贴在凭证上或者税务机关在凭证上加注完税标记代替贴花。()
幼儿情绪与情感发展的特点是()。
()的时候,我们彼此甚至有着()互不搭界的不同感受。在这样一种意义上,每个人都是别人所无法替代的思想者,每个人也都是作为思想着的醒客。
打开考生文件夹下的演示文稿yswg.pptx,按照下列要求完成对此文稿的修饰并保存,内容请按照题干所示的全角或半角形式输入。1.使用“奥斯汀”主题修饰全文,全部幻灯片切换方案为“推进”,效果选项为“自顶部”,放映方式为“观众自行浏览”。
最新回复
(
0
)