怎么做的呢 求解析 先从哪里开始呢

结果是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;

}


跟着main函数的代码走呀