帮看一下,这是个什么意思

img


img

代码修改如下(含测试代码):

img

代码

#include <stdio.h>
void insert(char* s1, char* s2, int n) 
{ 
    if (n < 0 || s1 == NULL || s2 == NULL) 
    { 
        printf("error"); 
    } else 
    {
        int i, j; 
        int str1 = 0; 
        int str2 = 0; 
        while (s1[str1] != '\0') 
            str1++; 
        while (s2[str2] != '\0') 
            str2++; 
        if (n > str1) 
        { 
            printf("error"); 
        } 
        char a[100]; 
        for (i = 0; i < n; i++) 
        { 
            a[i] = s1[i]; 
        }
        for (j = 0; j < str2; j++) 
        { 
            a[n + j] = s2[j]; 
        } 
        for (int k=0;k<str1-n;k++)
        {
            a[n+str2+k] = s1[n+k];
        }
        //重新赋值回s1
        for(i=0;i<str1+str2;i++)
        {
            s1[i]=a[i];
        }
        s1[i] = '\0'; //不是空格
    }
}

int main()
{
    char s1[100],s2[100];
    int n;
    printf("input string 1:");
    gets(s1);
    printf("input string 2:");
    gets(s2);
    printf("input pos:");
    scanf("%d",&n);
    insert(s1,s2,n);
    printf("%s",s1);
    return 0;
}

估计s2为空