c语言:从键盘上输入两个字符串(长度不大于20)和整数n(0<n<=20),要求将第二个字符串插在第一个字符串的n位置开始处并输出。 示例如第一个字符串为"you are ok." 第二个字符串为"fine and " 输入的整数为8,则表示将fine插在ok前面(y前面为位置0,o前面的位置为8),输出为you are fine and ok. 点击复制后,将打开C知道体验页
时间: 2023-06-05 07:07:50 浏览: 77
C语言习题:顺序、选择、循环.pdf
好的,您的问题是如何将第二个字符串插在第一个字符串的指定位置并输出。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[21], str2[21]; // 两个字符串,长度不超过20
int n; // 要插入的位置
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
printf("请输入要插入的位置:");
scanf("%d", &n);
int len1 = strlen(str1), len2 = strlen(str2);
if (n < 0 || n > len1) // 判断插入位置是否合法
{
printf("插入位置不合法\n");
return 0;
}
memmove(str1 + n + len2, str1 + n, len1 - n + 1); // 将插入位置后面的字符往后移
strncpy(str1 + n, str2, len2); // 插入第二个字符串
printf("%s\n", str1); // 输出结果
return 0;
}
```
注意:本AI只是根据您的要求回答问题,并不能进行代码复制或保存,如果您需要使用代码,建议自行打开CSDN或其他编程网站复制代码。
阅读全文