首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序: 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
31
问题
有下列程序:
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://jikaoti.com/ti/LVi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidf(int*q){inti=0;for(;i
以下程序的输出结果是#includeinta[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);
请选出正确的程序段
现有如下程序段#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
当运行以下程序时,从键盘输入AhaMA(空格)Aha,则下面程序的运行结果是#includemain(){chars[80],c=′a′;inti=0;scanf("%s",s);while(s[i]!=′
随机试题
A.氟哌啶醇B.舒必利C.利培酮D.奥氮平E.氯氮平抗胆碱能作用及镇静作用小,主要不良反应为头晕、激越、失眠等
用ELISA双抗体夹心法检测抗原A时,固相载体的包被物是
下列关于固定资产折旧的说法,正确的是()。
下列选项中,不属于民事诉讼规定先予执行的是()。
下列选项中,关于企业所得税税率相关规定的表述,正确的有()。
社会救助服务包括使困难人群()。
Heworkstenhoursaday,makesmorethanUS$98,000ayear,doesn’tbothertotakeholidays,dressesashepleases,he’sne
认识资本主义工资的本质就要科学地区分劳动和劳动力。这是因为
•Lookatthenotebelow.•Youwillhearawomancallingacompanyaboutapossibleorder.TELEPHONEENQUIRYR
Forsomepeople,thelightofhumanattentionhasanunbearablebrilliance.Likeivyalongthedimedgeofagarden,theyprefer
最新回复
(
0
)