编辑框的变量在调用函数后数值岂有此理变化.其中参数数组声明位置靠近调用函数却不变化

编辑框的变量在调用函数后数值莫名其妙变化.其中参数数组声明位置靠近调用函数却不变化
正在用VC6写一个函数:
int StressCount[100];

double CL;
double dlifecount=0.00;
UpdateData(true);
unsigned char imaterialtype;//材料类型
imaterialtype=m_materialtype.GetCurSel();
unsigned char ireliancetype;
ireliancetype=m_reliancectrl.GetCurSel();

double ftemp1,ftemp3;
unsigned char iloadtype;//负荷类型
iloadtype=m_loadtype.GetCurSel();

if(iloadtype==0) 
{
CL=0.85;
ftemp1=0.9;
}
if(iloadtype==1)
{
CL=0.85;
ftemp1=0.75;
}
    .
    .//中间略去N多行哇啦哇啦的话
    .
        .//见证奇迹的一刻从下面开始
    double MaxStressValue,MinStressValue;
//int StressCount[100];
for(int j=0;j<100; j++)
{
StressCount[j]=0;
}

MaxStressValue=0.0;
MinStressValue=0.0;

GroupStress(StressCount,&MaxStressValue,&MinStressValue);
    double AttenuationFactor=ftemp1*freliancetype*m_dimension*m_surface*CL/m_notch;//为什么执行GroupStress后m_dimension变了 

其中m_dimension,m_surface,m_nothc是三个编辑栏控件的值,调试时发现运行到GroupStress时这三个值还是对的分别是0.59,0.68,1.00 过了GroupStress却发现全都变成了5.8???e-39或4.45??e-8,(?表示其它数).当然AttenuationFactor都错了.进入GroupStress单步调,发现GroupStress函数中间运行时这三个参数都没变.只是在最后返回调用函数时变了.
诡异的是把前面的int StressCount[100];去掉.移到for(int j=0;j<100; j++)前,如前文加上int StressCount[100],发现这三个值在调用GoupStress后又是正常的.
十分不解,按道理m_dimension这三个编辑栏控件的值属于全局变量,在函数调用时不会变的.折腾了二天还搞不定,如果用权宜之计,又非常担心原理不清楚留下Bug,切望各位大虾出手搭救.谢谢

------解决方案--------------------
GroupStress(StressCount,&MaxStressValue,&MinStressValue);
此函数内有越界访问。
------解决方案--------------------
GroupStress 传入 StressCount 的大小, 函数内部以传入的大小来做处理, 不要越界