这题为啥第二个是11 我看不明白了
#include<stdio.h>int fun(int x,int y)
{
static int m=0,i=2;
i+=m+1;m=i+x+y;
return m;
}
int main()
{
int j=1,m=1,k;
k=fun(j,m);printf("%3d",k);
k=fun(j,m);printf("%3d",k);
return 0;
} static声明会导致局部变量值被保留,所以第二次调用函数是变量值没有变,是在上次函数执行后的值的基础上继续运算的。
页:
[1]