在一段字符串指定位置插入另外一段字符串:
注意循环结束的条件,以及循环结束之后补上’\0’;
#include <stdio.h>
#include <string.h>
void insert(char *p, char *q, int n)
{
char *strs, ch[60];
strs = ch;
int i;
for(i=0; *p!='\0'; i++)
{
if(i == n-1)//这里表示找到插入的位置
{
while(*q!='\0')
{
strs[i]=*q;
q++;
i++;
}
}
strs[i]=*p;
p++;
}
strs[i]='\0';
printf("%s", strs);
}
int main()
{
char *str1, *str2;
int n;
str1 = "helloworld";
str2 = "2013141597";
printf("请输入想要插入的位置: ");
scanf("%d",&n);
insert(str1,str2,n);
}