最適化で
for(i=0;i<N;i++)strcpy(b,a); → strcpy(b,a);
になっている可能性有り