#include
#include
D(char str[],char str1[])//删除函数
{int i,n=-1;
for(i=0;str!='\0';i++) {if (str==str1[2]) {n=i;break;}}
if(n==-1) printf("error\n");
else
   {for(i=n;str!='\0';i++) str=str[i+1];
    str='\0';
    puts(str);}
}
I(char str[],char str1[])//插入函数
{int i,n=-1,m;
  for(i=0;str!='\0';i++) {if(str==str1[2]) n=i;m=i;}
  if(n==-1) printf("error\n");
  else
   {for(i=m;i>=n;i--) str[i+1]=str;
    str[n]=str1[4];
    str[m+2]='\0';
    puts(str);}
}
R(char str[],char str1[])//替换函数
{int i;
  for(i=0;str!='\0';i++) {if(str==str1[2]) str=str1[4];}
  puts(str);
}
int main()
{
char str[50],str1[10];
int i,j,n;
scanf("%d",&n);//问题:加了这句gets语句就不能顺利执行,奇怪
for(j=0;j {
  gets(str);
  gets(str1);
  if(str1[0]=='D') D(str,str1);//判断调用什么函数
  if(str1[0]=='I') I(str,str1);
  if(str1[0]=='R') R(str,str1);
}
  return 0;}

就是上面那里scanf("%d",&n);//问题:加了这句gets语句就不能顺利执行,奇怪
谁帮我看看是什么问题啊?