这个为什么输出是16 ++i每次都是1么?为什么

#include<stdio.h>
int fun(int k){
static int i;int j=0;
return ++i+k+j++;
}
int main (){
static int i,n;
for (i=0;i<4;i++)
n+=fun(i);
printf ("%3d",n);
return 0;
}

代码没写完整吧,fun函数里的k在哪

每次调用fun()的时候都重新定义了static int i;
i是局部变量,不是整个类的成员变量