柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
若有以下程序 #include
int f(int m) { static int n=0; int a=2; n++; a++; return n+m+a; } main() { int k; for (k=0; k<4; k++) printf("%d,", f(k)); } 则程序的输出结果是
A.3,5,7,9,
B.4,7,10,13,
C.4,5,6,7,
D.4,6,8,10,
热度🔥2,855
参考答案:D
解析:
【解析】本题考查静态局部变量以及自增运算符,静态局部变量在函数调用结束后,并不释放,仍然保留它的值,本题中,k为0时,return n+m+a之前,n为1,a为局部变量是3,m为0,所以第一个返回值为4。k为1,在函数返回值之前,静态局部变量为2,局部变量a仍然为3,m为1,所以结果是6,依此类推答案为D。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
构成CPU的主要部件是()。
有以下程序 #include main() { int a, b; for( a=1,b=1; a=20) break; if(b % 3==1) { b=b+3; continue; } b=b-5; } printf("%d\n",a); } 程序的输出结果是
在SQL Server 2008中,设U1用户在某数据库中是db_datawriter角色中的成员,则用户U1从该角色中可以获得的数据操作权限是( )。 I. 查询 II. 插入 III. 更改 IV. 删除
若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的GCC命令正确的是( )。
采用动态地址映射方式向内存装入程序时,其地址转换工作是在什么时间完成的?
标签
二级C语言
局部
变量
int
静态