一个递归的数组程序,出现Segmentation Fault,该怎么办
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int k,j=0,i,ja=1,m,n,p,z;
int a[10],c[10],b[10];
int zh(int h,int t,int k);
int fenz(int d,int e,int f,int k);
int main()
{
scanf("%d",&k);
for(i=1;i<=k;i++)
{ scanf("%d",&b[i]);
if(i<=k) a[i]=b[i];
}
for(i=1;i<=k;i++)
{ scanf("%d",&c[i]);}
scanf("%d %d %d",&m,&n,&p);
z=zh(n,m,k)%p;
printf("%d",z);
return 0;
}
int zh(int h,int t,int k)
{
int quan;
a[t]=fenz(t,h,1,k);
quan=a[t];
if(t==h) return a[t];
else return quan+zh(h,t+1,k);
}
int fenz(int d,int e,int f,int k)
{
if(d<=k) {return (a[d]);
}
else
{a[d]=c[f]*a[d-f];
if(f==k) { return (a[d]);
}
if(f!=k) return a[d]+fenz(d,e,f+1,k);
}
}
飞华君
2020/11/27 07:53- c语言
- 点赞
- 收藏
- 回答