【问题描述】
编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串。插入的位置和内容是从键盘输入
要求:子函数 char *InsertStr(char *s,int pos,char *t)
【输入形式】
输入主串s,输入插入的子串t,输入插入位置pos。
【输出形式】
输出插入后字符串
【样例输入】
输入:
abcde
KOBE
2
【样例输出】
aKOBEbcde
#include<stdio.h>
#include<string.h>
#define N 100
char *InsertStr(char *s,int pos,char *t)
{
int len1=strlen(s), len2=strlen(t), i ;
char *st=s;
for(i=len1-1;i>=pos-1;i--)
st[i+len2]=s[i];
for(i=0;i<len2;i++)
st[pos-1+i]=t[i];
st[len1+len2]='\0';
return st;
}
int main()
{
int i=0;
int pos=0;
char sta[N],stb[N];
gets(sta);
gets(stb);
scanf("%d",&pos);
puts(InsertStr (sta,pos,stb));
return 0;
}