C程序运行错误。帮帮忙~应该和指针有关
程序代码:#include "stdio.h"
void insert(char s1[],char s2[],int f)
{
char s[40],*t=s,i=0;
while(i!=f)
{*t=s1[i++];t++;}
i=0;
while(s2[i]!='\0')
{*t=s2[i++];t++;}
i=f;
while(s1[i]!='\0')
{*t=s1[i++];t++;}
*(t+1)='\0';
printf("%s",s);
}
int main()
{
char s1[20],s2[20];
int f;
printf("请输入两个数组s1和s2:\n");
gets(s1);
gets(s2);
printf("要在s1指定区域f处插入s2,请输入f:\n");
scanf("%d",f);
insert(s1,s2,f);
return 0;
}
这个程序运行错误,能不能帮忙看看错在哪里,是不是指针运用的错误啊。。非常感谢









