这句代码怎么解释
/* f 函数的删除数组中的负数*/#include <stdio.h>
void f(int *a,int *m)
{ int i,j;
for(i=0;i<*m;i++)
if(a[i]<0) {
for(j=i--;j<*m-1;j++) a[j]=a[j+1];
*m=j ; //这句代码怎么解释
}
}
void main()
{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7};
f(x,&n); //这样为什么通不过啊
for(i=0;i<n;i++) printf("%5d",x[i]);
printf("\n");
}