单选题 以下程序运行后的输出结果是
#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;
}
【正确答案】 C
【答案解析】[解析] 本题考查静态局部变量。第一次调用f函数时,将实参a值3传给形参变量n,此时,静态局部变量a的值为1,经过n+=a++运算后,n为4,a为2,return语句将4带回到main函数赋给s;第二次调用f函数时,将实参a值3(注意,实参a的值并未改变)传给变量n,此时,静态局部变量a的值为2,经过n+=a++运算后,n为5,a为3,return语句将5带回到main函数,s=s+f(a)=4+5=9。