用c语言编写一个程序,将一个指定字符插入到主字符串中指定位置。
时间: 2023-11-22 10:56:15 浏览: 237
插入子串操作-字符串的相关知识
下面是用C语言编写的将一个指定字符插入到主字符串中指定位置的程序:
```c
#include <stdio.h>
#include <string.h>
void insert(char *str, char ch, int pos) {
int len = strlen(str);
if (pos > len) {
printf("Error: invalid position!\n");
return;
}
memmove(str + pos + 1, str + pos, len - pos + 1);
str[pos] = ch;
}
int main() {
char str[100], ch;
int pos;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Enter a character to insert: ");
ch = getchar();
printf("Enter the position to insert: ");
scanf("%d", &pos);
insert(str, ch, pos);
printf("Result: %s", str);
return 0;
}
```
程序中使用了字符串库函数 `strlen()` 和 `memmove()`,需要在程序开始处包含头文件 `string.h`。函数 `insert()` 接受三个参数:主字符串指针 `str`、要插入的字符 `ch` 和插入位置 `pos`。如果插入位置超过了主字符串的长度,函数会输出错误信息并返回。否则,函数使用 `memmove()` 函数将插入位置后面的字符向后移动一位,然后将要插入的字符放到插入位置上。
在 `main()` 函数中,程序首先读入一个字符串,然后读入要插入的字符和插入位置。接着调用 `insert()` 函数将字符插入到字符串中,并输出结果。
阅读全文