这段程序哪里有问题
/* 请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后字符串中的内容应该是:DEFGHIJKABC。
注意:部分源程序存在文件prog.c中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/
#include <stdio.h>
#include <string.h>
#define N 80
void fun(char *w, int m)
{
int i,n;
char t;
n=strlen(w);
for(i=0;i<m;i++)
{
w[i+n-m+1]=w[i];
}
for(i=m;i<n;i++)
{
w[i-m]=w[i];
}
}
NONO()
{
FILE *rf, *wf ; char a[N] ; int m, i ;
rf = fopen("bc.in", "r") ;
wf = fopen("bc.out", "w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d %s", &m, a) ;
fun(a, m) ;
fprintf(wf, "%s\n", a) ;
}
fclose(rf) ; fclose(wf) ;
}
main()
{
char a[N]= "ABCDEFGHIJK";
int m;
printf("The original string:\n");puts(a);
printf("\n\nEnter m: ");scanf("%d",&m);
fun(a,m);
printf("\nThe string after moving:\n");puts(a);
printf("\n\n");
NONO();
}