可以使用以下代码来实现将字符串 s2 插入字符串 s1 中的操作:
#include <stdio.h>
#include <string.h>
int main() {
char s1[27], s2[27]; // 假设存储在字符数组 s1 和 s2 中
char *p1, *p2, *p3; // 声明三个指针
int L1, L2; // 声明两个变量
// 从键盘上读入两个字符串
printf("请输入第一个字符串:");
gets(s1);
printf("请输入第二个字符串:");
gets(s2);
L1 = strlen(s1); // 计算字符串 s1 的长度
L2 = strlen(s2); // 计算字符串 s2 的长度
// 在字符串 s1 的末尾添加 L2 - L1 个字符
for (p1 = s1 + L1, p2 = s1 + L1 + L2 - L1; p1 <= p2; p1++)
*p1 = ' ';
*(p1 + 1) = '\0'; // 添加结束符
// 将字符串 s2 插入字符串 s1 中
for (p1 = s1 + L1, p2 = s2, p3 = s1; p1 <= p2; p1++, p3++)
*p1 = *p3;
for (; *p2 != '\0'; p1++, p2++)
*p1 = *p2;
*p1 = '\0'; // 添加结束符
// 输出新生成的字符串 s
printf("新生成的字符串:%s\n", s1);
return 0;
}
代码的工作流程如下:
- 从键盘上读入两个字符串 s1 和 s2。
- 计算字符串 s1 的长度 L1,计算字符串 s2