柠檬试题库
search
首页 计算机 公务员 驾照 关于

若有以下程序 #include int f(int m) { static int n=0; int a=2; n++; a++; return n+m+a; } main() { int k; for (k=0; k<4; k++) printf("%d,", f(k)); } 则程序的输出结果是


  • A.3,5,7,9,
  • B.4,7,10,13,
  • C.4,5,6,7,
  • D.4,6,8,10,
热度🔥2,793
参考答案:D
解析:

【解析】本题考查静态局部变量以及自增运算符,静态局部变量在函数调用结束后,并不释放,仍然保留它的值,本题中,k为0时,return n+m+a之前,n为1,a为局部变量是3,m为0,所以第一个返回值为4。k为1,在函数返回值之前,静态局部变量为2,局部变量a仍然为3,m为1,所以结果是6,依此类推答案为D。
复制题目向AI提问