单选题 若有以下程序:
#include <stdio.h>
int a=2;
int f(int m)
{ static int n;
n=0; n+ +; a+ +;
return n+m+a;
main( )
{ int k;
for (k=0; k<4; k+ +) printf("%d,",f(k));
}
则程序的输出结果是______。
【正确答案】 C
【答案解析】[解析] 主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。由于变量a是全局变量,变量n静态变量,因此k=0时,f函数中,语句returnm n+m+a;即1+0+3=4;k=1时,f函数中,语句retrun n+m+a;即2+1+3=6;k=2时,f函数中,语句return n+m+a;即3+2+3=8; k=3时,f函数中,语句retun n+m+a;即4+3+3=10。因此C选项正确。