柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
有以下程序 #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.3,3
B.1,1
C.2,3
D.1,2
热度🔥1,506
参考答案:D
解析:
【解析】该题目中首先区别++n和n++,第一次调用f函数时,将++n(n自增1后再参与运算)作为参数进行传递,此时变量m的值为1,执行n+=m;后,n=1,将1返回主函数,并输出。第二次调用f函数时,将n++(n参与运算后再自增1)作为参数进行传递,此时变量m的值为1,执行语句n+=m;,由于n是静态存储变量,因此n=2,将2返回主函数并输出。因此D选项正确。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
在Access中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为( )
有以下程序 #include int fun(int a, int B) { if(b==0) return a; else return(fun(--a,--b)); } main() { printf("%d\n", fun(4,2)); } 程序的运行结果是
标签
二级C语言
函数
int
变量
输出