出现警告:warning C4047
int panduan(int a,int n) /*此函数用于判断a的因数*/
{
int i,j=0,s[9999][9999],t=0;
for(i=1;i<=a;i++)
if(a%i==0)
{s[i-1][j]=i;
j++;
t++;
if(t==n-1) s[i-1][j]=a/i;
else panduan(a/i,n);
}
return s; /*返回各种情况的数组的起始地址*/
}
为什么会出现警告:warning C4047: 'return' : 'int *' differs in levels of indirection from 'int [9999][9999]'?
int panduan(int a,int n) /*此函数用于判断a的因数*/
{
int i,j=0,s[9999][9999],t=0;
for(i=1;i<=a;i++)
if(a%i==0)
{s[i-1][j]=i;
j++;
t++;
if(t==n-1) s[i-1][j]=a/i;
else panduan(a/i,n);
}
return s; /*返回各种情况的数组的起始地址*/
}
为什么会出现警告:warning C4047: 'return' : 'int *' differs in levels of indirection from 'int [9999][9999]'?





2008-8-4 13:00


