我定义了一个局部静态数组cunloc,全部初值赋0的时候,总是只有前13个值为0;我把后面7个赋初值为非0值时,又能够成功赋值,请问高手为什么了?下面为函数:
float Smooth(float inval,int n,int reset_flag)
{
if(n>=20) return inval;
static float tmpval[20][MAX_SOOTH_NUM];
static int cunlong[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static int cunloc[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; float outval = 0;int i = 0,j = 0;
if(reset_flag == 1) 
{
cunlong[n] = 0;
cunloc[n] = 0;
} tmpval[n][cunloc[n]] = inval;
cunloc[n]++;
cunloc[n]=cunloc[n]%Point_Curvesmooth[n];
cunlong[n]++;
    
if(cunlong[n]<Point_Curvesmooth[n])
{
for(i = 0;i<cunlong[n];i++)
{
if(tmpval[n][i]>-9999)
{
outval+=tmpval[n][i];
j++;
}
}
}
else
{
for(i = 0;i<Point_Curvesmooth[n];i++)
{
if(tmpval[n][i]>-9999)
{
outval+=tmpval[n][i];
j++;
}
} }
if(j>0)
return outval/j;
else
return inval;
    }