程序编译通过,但是运行出现非法操作。
在第50行
for(t=1;t<=N;t++)
{
printf("t=%d, (j-t+s+1)=%d\n",t,j-t+s+1); //这句是我加上去的
u[j]=u[j]+c[j-t+s+1][t]*y[t];
}
运行结果
t=1, (j-t+s+1)=3
t=2, (j-t+s+1)=2
t=3, (j-t+s+1)=1
t=4, (j-t+s+1)=0
t=5, (j-t+s+1)=-1
t=6, (j-t+s+1)=-2
t=7, (j-t+s+1)=-3
t=8, (j-t+s+1)=-4
t=9, (j-t+s+1)=-5
t=10, (j-t+s+1)=-6 这里出现非法操作
从前面程序来看,s=2不变, 也就是说 是j-t+2+1
c为一数组,出现负数下标,不非法操作才怪。。。