[求助]这个C语言程序哪里错了???
#include <stdio.h>#define N 100
#define S 1
#define M 10
int p[100], n, s, m ;
void WriteDat(void) ;
void Josegh(void)
{
int i,j,a[100],c,d;
for(i=0;i<N;i++)
a=i+1;
c=N;
d=S;
for(i=0;i<N;i++)
{
d=(d+M-2)%c;
p=a[d];
c--;
for(j=0;j<c;j++) /*为什么经过这个循环之后c的值由99变成-34了???*/
a[d+j]=a[d+1+j];
}
}
void main()
{
m = M ;
n = N ;
s = S ;
Josegh() ;
WriteDat() ;
}
void WriteDat(void)
{
int i, j = 0 ;
FILE *fp ;
fp = fopen("C:\\WEXAM\\35990001\\out.dat", "w") ;
for(i = 0 ; i <= N - 1 ; i++) {
printf("%4d ", p) ;
fprintf(fp, "%4d", p) ;
j++ ;
if(j % 10 == 0) {
printf("\n") ;
fprintf(fp, "\n") ;
}
}
fclose(fp) ;
}
请大家们指点!!!