柠檬试题库
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,798
参考答案: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年计算机等级考试题库
推荐
数据库系统的三级模式不包括( )。
以下过程的功能是从数组中寻找最大值:Private Sub FindMax(a()As Integer, ByRef Max As Integer) Dim s As Integer, f As Integer Dim i As Integer s=LBound(a) f=UBound(a) Max=a(s) For i=s To f If a(i)>Max Then Max=a(i) NextEnd Sub以下关于上述过程的叙述中,错误的是( )。
要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令( )。
循环队列的存储空间为 Q(1:100),初始状态为 front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为( )。
标签
二级C语言
局部
变量
int
静态