题目类型:
问答题
题目内容
int fun(int m) { static int n=1; ++m; n++; return(m+n); } void main() { int a,b; a=fun(0);b=fun(10); printf("a=%d,b=%d\n",a,b); }
正确答案
a=3,b=14
题目解析
本题考察静态变量,静态变量只在第一次调用所在函数时进行初始化,以后调用不再进行初始化而是使用上次调用结束时该变量的值。调用fun(0),返回的是m+n=1+2=3,调用fun(10)返回m+n=11+3=14