首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include int f ( int m ) { static int n=0; n+=m; return n; } main() { int n=0; printf ( "%d,", f(++n) ); printf ( "%d\n",
有以下程序 #include int f ( int m ) { static int n=0; n+=m; return n; } main() { int n=0; printf ( "%d,", f(++n) ); printf ( "%d\n",
admin
2015-07-28
46
问题
有以下程序
#include
int f ( int m )
{ static int n=0;
n+=m;
return n;
}
main()
{ int n=0;
printf ( "%d,", f(++n) );
printf ( "%d\n", f(n++) );
}
程序运行后的输出结果是( )。
选项
A、1,2
B、1,1
C、2,3
D、3,3
答案
A
解析
静态变量是在编译时就被分配存储空间,所占用存储单元直到程序结束时才释放,其初始化只进行一次。函数f()的功能是用n累加所有调用该函数时传入的m的值,所以第一次调用函数f(++n),传入的参数为1,返回的值为1;第二次调用函数f(n++),传入的参数仍为1,返回时n在原先的基础上继续累加1,返回值为2,所以输出结果为选项A)。
转载请注明原文地址:https://kaotiyun.com/show/3OJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
x、y和z被定义为int型变量,若从键盘给x、y和z输入数据,正确的输入语句是()
有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } }
以下程序运行后的输出结果是______。 main() { char a[]="ABCDEFGH",b[]="abCDefGh"; char*p1,*p2;int k; p1=a;p2=b; for(k=0;k<=7;k++) if*(p1+k)==*(p
对于下面语句,叙述正确的是______。 char c1[]="abcd"; char c2[]={’a’,’b’,’c’,’d’};
TubroC中int变量所表示的数据范围是______。
以下叙述中正确的是______。
设有定义:structperson{intID;charname[12];}P;请将scanf(“%d”,【】);语句补充完整,使其能够为结构体变量P的成员ID正确读人数据。
以下关于RetuRn语句的叙述中正确的是
随机试题
sinx/x
急性肾衰竭合并严重高钾血症治疗选
肝硬化病人容易发生凝血障碍的主要原因是
心悸病证中,较常见的脉象有
胃热炽盛的主要临床特征是
我国行使管理利率权限的机关是()。
绩效考核指标体系中,风险成本控制指标包括()。
王某13周岁生日时,爷爷送其价值1万元的电脑一台,奶奶送其价值50元的棒球帽一顶。同年某天,王某未事先征得法定代理人的同意。将其电脑与棒球帽分别赠送给同班同学。下列关于王某行为效力的表述中,正确的是()。
下列句子中,有歧义的一句是()。
THEMAGICOFEXERCISESupposetherewasapotionthatcouldkeepyoustrongandtrimasyouaged,whileprotectingyourheart
最新回复
(
0
)