用c语言实现字符串,实现将字符串2插入到字符串1 的指定位置(该位置由有用户输入)。
时间: 2024-05-03 12:17:20 浏览: 142
C语言实现将字符和数字串到一起
5星 · 资源好评率100%
下面是用C语言实现的字符串插入操作的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STRING_LENGTH 100
int main()
{
char str1[MAX_STRING_LENGTH], str2[MAX_STRING_LENGTH];
int pos;
printf("请输入字符串1(不超过 %d 个字符):", MAX_STRING_LENGTH);
fgets(str1, MAX_STRING_LENGTH, stdin);
str1[strcspn(str1, "\n")] = '\0'; // 去掉fgets读入的换行符
printf("请输入字符串2(不超过 %d 个字符):", MAX_STRING_LENGTH);
fgets(str2, MAX_STRING_LENGTH, stdin);
str2[strcspn(str2, "\n")] = '\0'; // 去掉fgets读入的换行符
printf("请输入要插入的位置(0-%d):", strlen(str1));
scanf("%d", &pos);
if (pos < 0 || pos > strlen(str1)) {
printf("插入位置超出字符串1的范围!\n");
return 1;
}
memmove(str1 + pos + strlen(str2), str1 + pos, strlen(str1) - pos + 1); // 移动字符串1中pos位置之后的部分
memcpy(str1 + pos, str2, strlen(str2)); // 插入字符串2
printf("插入后的字符串1:\n%s\n", str1);
return 0;
}
```
运行程序后,按照提示输入字符串1、字符串2和插入位置,就可以得到插入后的字符串1。其中,使用了`fgets`函数读入字符串,可以避免输入字符串时出现缓冲区溢出的问题;使用`memmove`函数和`memcpy`函数分别实现了字符串的移动和插入。
阅读全文