#include #include int main() { char str1[200], str2[100]; int i, j, index; printf("请输入主字符串:"); fgets(str1, sizeof(str1), stdin); str1[strcspn(str1, "\n")] = '\0'; // 去除换行符 printf("请输入要插入的字符串:"); fgets(str2, sizeof(str2), stdin); str2[strcspn(str2, "\n")] = '\0'; // 去除换行符 printf("请输入要插入的位置:"); scanf("%d", &index); int len1 = strlen(str1); int len2 = strlen(str2); // 检查插入位置是否有效 if (index < 0 || index > len1) { printf("插入位置无效\n"); return 1; } // 移动字符以腾出空间 for (i = len1; i >= index; i--) { str1[i + len2] = str1[i]; } // 插入 str2 for (j = 0; j < len2; j++) { str1[index + j] = str2[j]; } printf("插入后的字符串: %s\n", str1); return 0; }