试题题干
#include<stdio.h>
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=fun(0);需要调用函数fun(int m),即++m的值为1,++n的值为2,故返回的值为m+n=1+2=3;b=fun(10)需要调用函数fun(int m),即++m=11,因为static int n=1;是静态变量只初始化一次,所以++n=3,故返回值为m+n=11+3=14。