首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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;
有下列程序: 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;
admin
2016-12-28
48
问题
有下列程序:
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。在inl 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/VrDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
现有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};in
下面程序输出的结果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i
有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i
有如下程序段inta=14,b=15,x;charc=′A′;x=(a&&b)&&(c
以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“ThisisYES.”与“ThisisNO.”。空白处需要填入的内容是#include<stdio.h>voidYesNo(charch){switch(c
有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n"
随机试题
教育
A.前列腺素B.类固醇C.肾上腺索D.胰岛素通过G蛋白传递信号的激素是
半夏泻心汤中,体现寒热平调的配伍是半夏泻心汤中,体现有升有降的配伍是
为确切了解子宫内膜的周期性变化,应选以下哪项检查
获得ISO9000质量管理体系认证的企业因质量体系严重不符合规定而被撤销认证的,最早可在撤销认证()后重新提出认证申请。
海关规定对在海关注册登记的企业予十位数代码编号,称为“经营单位代码”。下列正确表达十位数代码的组成规定的是()。
医院:大夫:病人
发展教育和科学,主要发展的是
ItwasthefirsttimeRebecca(invite)______ustodineout.
A、Attitudestowomenworkinghavechangedgreatly.B、Eightoutoftenwomenstilldothehouseholdchores.C、Only1percentof
最新回复
(
0
)