柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
若有以下程序 #include
int a=2; int f(int m) { static int n; n=0; n++; a++; return n+m+a; } main() { int k; for (k=0; k<4; k++) printf("%d,", f(k)); } 则程序的输出结果是
A.4,5,6,7,
B.4,7,10,13,
C.4,6,8,10,
D.3,5,7,9,
热度🔥1,590
参考答案:C
解析:
【解析】主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。由于变量a是全局变量,变量n是static静态变量,因此k=0时,f函数中,语句return n+m+a;即1+0+3=4;k=1时,f函数中,语句return n+m+a;即2+1+3=6;k=2时,f函数中,语句return n+m+a;即3+2+3=8;k=3时,f函数中,语句return n+m+a;即4+3+3=10。因此C选项正确。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
有以下程序: #include int f(int x); main() { int n=1,m; m=f(f(f(n))); printf("%d\n",m); } int f(int x) { return x*2; } 程序运行后的输出结果是( )。
以下选项中关于C语言常量的叙述错误的是
若要删除数据库中已经存在的表T,下列哪一个SQL语句可以实现?
某程序员编写了一段通过串口发送数据的程序,使用了设备名com1,那么,将com1映射到实际物理设备的工作是在I/O管理的哪一层完成的?
循环队列的存储空间为Q(1:100),初始状态为 front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为( )。
标签
二级C语言
函数
变量
int
语句