计算行列式的代码 递归一直得不到正确答案 求看看

#include
#include
int function(int k,int l[8][8])
{int o,result,i,j,m[8][8];
if(k==1) return l[0][0]; k--;
for(o=0;o<k;o++)/*取第一列第o行元素做余子式*/
{ for(i=0;i<k;i++)/*遍历i行*/
for(j=0;j<k;j++)/*遍历j列*/
{if (i<o) m[i][j]=l[i][j+1];
else m[i][j]=l[i+1][j+1];}
result+=function(k,m)*pow(-1,o)*l[0][o]; }
return result; }
int main()
{int i,j,k,l[8][8],z;
scanf("%d",k);
for(i=0;i<k;i++)
for(j=0;j<k;j++)
cin>>[i][j];
z=fuction(k,l);
cout<<z;
return 0;
}