柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
有以下程序: #include
int f(int n); main() { int a=3,s; s=f(a);s=s+f(a); printf("%d\n",s); } int f(int n) { static int a=1; n+=a++; return n; } 程序运行后的输出结果是( )。
A.9
B.8
C.7
D.10
热度🔥451
参考答案:A
解析:
【解析】题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第一次调用函数执行n+=a++;时a先与n相加在再进行自增。n的值为4,a的值为2,且a变量执行完后空间没有释放。再执行 s=s+f(a)时 ,s的值为4,调用f(a)函数时n的返回值为 n=3+2=5,且此时a的值为3了。所以s的值为9。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
程序测试的目的是
窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:Private Sub command1_Click() Dim n If Text1.Text<>"123456"Then n=n+1 Print "口令输入错误"& n & "次" End IfEnd Sub希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入 的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是( )。
用户进程从用户态转变为内核态时,使用的指令是
计算机对汉字信息的处理过程实际上是各种汉字编码间的转换过程,这些编码不包括( )。
标签
二级C语言
int
执行
程序
变量