字符串插入问题,请问错在哪里
将一个字符串s2插入字符串s1的第m个字符之后,为什么不对呢?哪位高手帮忙看一下。。。程序代码:
#include "stdio.h" #include "string.h" char *insert(char *p1,char *p2,int k) { static char s[50],*t; t=s; for(;t<s+k;) *t++=*p1++; for(;t<s+k+strlen(p2);) *t++=*p2++; for(;t<s+strlen(p1)+strlen(p2);) *t++=*p1++; return(s); } void main() { char s1[20],s2[20],*s3;int m; printf("s1:"); gets(s1); printf("s2:"); gets(s2); printf("enter m:"); scanf("%d",&m); s3=insert(s1,s2,m); printf("after insert:"); printf("%s",s3); }