选择题   若有以下程序:
    #include  <stdio.h>
    int  f(int  m)
    {  static  int  n=0;
    int  a=2;
    n++;  a++;  return  n+m+a;
    }
    main()
    {  int k;
    fbr(k=0;k<4;k++)  printf('%d,',f(k));
    }
    则程序的输出结果是______。
 
【正确答案】 D
【答案解析】本题考查静态局部变量以及自增运算符。静态局部变量在函数调用结束后并不释放,仍然保留它的值。本题中,k为0时,在执行到return n+m+a之前,n为1,a为局部变量是3,m为0,所以第一个返回值为4。k为1时,在函数返回值之前,静态局部变量n为2,局部变量a仍然为3,m为1,所以结果是6,依此类推,答案为D。