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

若有以下程序 #include 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)); } 则程序的输出结果是


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

【解析】主函数中变量k作为for语句的循环变量,取值0、1、2、3,同时也作为实参通过调用函数f传递给形参变量m。由于变量a是全局变量,变量n是static静态变量,因此k=0时,f函数中,语句return n+m+a;即1+0+3=4;k=1时,f函数中,语句return n+m+a;即2+1+3=6;k=2时,f函数中,语句return n+m+a;即3+2+3=8;k=3时,f函数中,语句return n+m+a;即4+3+3=10。因此C选项正确。
复制题目向AI提问