结果是9
#include <stdio.h>
int f(int n);
void main()
int a=3,s;
s=f(a);
s=s+f(a);
printf("%dn",s);
int f(int n)
static int a=1;
n+=a++;
return n;
}
结果是9
#include <stdio.h>
int f(int n);
void main()
int a=3,s;
s=f(a);
s=s+f(a);
printf("%dn",s);
int f(int n)
static int a=1;
n+=a++;
return n;
}
```c++
#include <stdio.h>
int f(int n);
void main()
{
int a=3,s;
s=f(a); // 调用后,a = 3,s = 4;
s=s+f(a); // 调用后,a = 3,s = 4 + 5;
printf("%dn",s);
}
int f(int n)
{
static int a=1; // 第一次进a 应该等于1;
n+=a++; // 此处在第一次进入时,a执行了‘++’操作,由于a是静态变量,所以a在函数第二次调用时,a = 2;
// n+= a++:表示n = n + a,a++;
return n;
}