你的输入中间是逗号分隔,可是你的程序scanf是空格分隔,不匹配
不知道你这个问题是否已经解决, 如果还没有解决的话:#include <stdio.h>
#include<string.h>
#include<stdlib.h>
char* change(char s1[], char s2[], int n)
{
int len1 = strlen(s1);
int len2 = strlen(s2);
int i;
int j = 0;
int k = 0;
for (i = len1; i >= n - 1; i--)
{
s1[i + len2] = s1[i];
}
for (i = 0; i < len2; i++)
{
s1[n - 1 + i] = s2[i];
}
return s1;
}
int main()
{
char* s1 = (char*)malloc(20 * sizeof(char));
char* s2 = (char*)malloc(20 * sizeof(char));
int n;
char s3[30];
char* new = s3;
printf("请输入第一个字符串:");
scanf_s("%s", s1);
printf("请输入第二个字符串:");
scanf_s("%s", s2);
printf("请输入插入的位置:");
scanf_s("%d", &n);
new = change(s1, s2, n);
printf("%s\n", new);
}