首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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); els
有下列程序: 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); els
admin
2016-12-18
55
问题
有下列程序:
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。在int f(int n)函数中定义了局部静态整型变量并进行了初始化即static nt 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://www.kaotiyun.com/show/gNDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义inta[4][4]={{1,23,4},{0}{4,6,8,10},{1,3,5,7}},则初始化后,a[1][1]得到的初值是______。
以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序:floatsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;
x、y、x均为int型变量,描述“x、y和z中至少有两个为正数”的表达式是______。
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<B){p=p1;p1=p2;p2=p;}prin
以下程序中给指针p分配3个double型动态内存单元,请填空。#include<stdllb.h>main(){double*p;p=(double*)malloc(【】);p[0]=1.5;p[1
设有定义intn=0,*p=&n,**q=&p;,则下列选项中正确的赋值语句是
某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的
深度为5的满二叉树中,叶子结点的个数为______。
以下不是面向对象思想中的主要特征的是
随机试题
此患者首先应该做的检查是( )患者入院次日腹痛加剧,体温38.9℃。查体:腹部有明显的肌紧张和反跳痛,白细胞16×109/L。此时最恰当的治疗方案是( )
【2009年真题】在投资方案的不确定性分析中,通过盈亏平衡分析,可以()。
—Ifyoudon’tliketheredcoat,taketheblueone.—Ok,butdoyouhave______sizeinblue?Thisoneisabittightforme.
材料:花园里,同学们都纷纷说了自己喜欢的花,这时全校闻名的“调皮大王”李刚发话了:“老师,我最喜欢的是仙人掌,它虽然全身长满了刺,但它的生命力最旺盛,而且刺丛中还能开出美丽的花儿呢!”他的话立即遭到同学们的反驳。“你们就看到它的刺了!你仔细看看人家刺中也
从所给四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
下列做法在日常生活中可行的是()。
根据可贷资金理论,流动性增强,其它条件不变的情况下,利率会()。
[*]
扩展名为.bak的文件是()。
对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为()。
最新回复
(
0
)