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