问题 单项选择题

有以下程序:
#include <stdio.h>
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) 7
B) 8
C) 9
D) 10

答案

参考答案:C

解析: s=f(a)表达式第一次调用f(n)函数时,f(n)函数的运行结果为n=4,a=2,即s等于4;s=s+f(a)表达式第二次调用f(n)函数时,f(n)函数的运行结果为n=5,所以得到s的值为9。

单项选择题
单项选择题 案例分析题