单选题
有以下程序 #include<stdio.h> int f(int n); main(){int a=3,s; int f(int n){static int a=1; s=f(a); n+=a++: s=s+f(a); return n; printf("%d\n",s);} }程序运行后的输出结果是
【正确答案】
A
【答案解析】解析:在主函数中第一次调用f(a)时,得到变量s的值等于4,在第二次调用f(a)时,在子函数f中由于变量a是一个局部静态变量,所以这次其值等于2,因而在主函数中第二次调用f(a)后,其返回值等于5,最后变量s的值等于9。