func(int a) {  static int m=O;  m+=a;  printf("%d\n",m); } void main() {  int k=4;  func(k);func(k); }

题目类型: 问答题

题目内容

func(int a) {  static int m=O;  m+=a;  printf("%d\n",m); } void main() {  int k=4;  func(k);func(k); }

正确答案

4    8

题目解析

本题考察静态变量,静态变量只在第一次调用所在函数时进行初始化,以后调用不再进行初始化而是使用上次调用结束时该变量的值。第一次func(4),m=0+4=4;第二次func(4),m=4+4=8。

题目纠错