请教一个return问题
有一个dll的源程序如下://----------------计算 N 周期均量,一个常数参数,表示计算周期--------------------
__declspec(dllexport) int WINAPI MAVX(CALCINFO* pData)
{
int i;
float vol,f;
int nPeriod;
int j;
if(pData->m_pfParam1 && pData->m_pfParam2==NULL && pData->m_nParam1Start<0)
{
f=*pData->m_pfParam1;
nPeriod=(int)f;
for(i=0;i<pData->m_nNumData;i++)
{
vol=0.0f;
for(j=0;j<nPeriod;j++)
{
vol+=pData->m_pData[i-j].m_fVolume;
}
pData->m_pResultBuf[i] =vol/nPeriod;
}
return nPeriod-1;
}
return -1;
}
其中"return nPeriod-1;"令人百思不解,有几个问题如下:
①"return nPeriod-1;"可否使用"return 0"替代;
②按程序作者言此处"return nPeriod-1;"是从第5个有效数返回开始,此种用法似乎C语言中没有特别说明之处,是否是通用的?
③如果是通用的,则如需从第n个有效数返回起,使用语句"return (n-1);"是否可行;
④若是通用的,则不定期从第i个有效数返回,如n个序列数中,符合条件m的有效数在顺序上是无规律出现的,则return语句应使用什么值返回?
[ 本帖最后由 yxb0001 于 2009-9-13 02:42 编辑 ]