达不到问题中的效果问题出在哪,该怎么改?

img

img


#include <iostream>
#include<string>
using namespace std;
char* insert(char* s1, char* s2, int n)
{
    for (int i = n - 1,j=0; i < n-1+strlen(s2),j<strlen(s2); i++,j++)
    {
        s1[i + 1] = s1[i];
        s1[i] = s2[j];
    }
    return s1;
}
int main()
{
    char s1[100] = "abcdefg";
    char s2[100] = "1234";
    insert(s1,s2,2);
    cout << s1;
    return 0;
}

先把s1插入位置后面的串往后挪输入s2长度个位置
再覆盖中间插入位置。这不是链表,不能直接插