【问题描述】
编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串。插入的位置和内容是从键盘输入
要求:子函数 char *InsertStr(char *s,int pos,char *t)
【输入形式】
输入主串s,输入插入的子串t,输入插入位置pos。
【输出形式】
输出插入后字符串
【样例输入】
输入:
abcde
KOBE
2
【样例输出】
aKOBEbcde
我这道题目写的有什么问题?OJ过不了。
#include<stdio.h>
#include<string.h>
char *InsertStr(char *s,int pos,char *t)
{
char n[1000];
int i,j;
for(i=0;i<pos-1;i++)
{
n[i]=s[i];
}
int e=i;
for(j=0;j<strlen(t);j++)
{
n[e++]=t[j];
}
for(i=pos-1;i<strlen(s);i++)
{
n[e++]=s[i];
}
char * N=n;
return N;
}
int main()
{
char a[500],b[500];
int pos;
scanf("%s%s%d",a,b,&pos);
printf("%s",InsertStr(a,pos,b));
return 0;
}