从健盘上输入两个字符串(长度不大于20)和整数n(0<p≤=20),要求将第二个字符串插在第一个宇符串的n位置开始处并输出。
2条回答 默认 最新
守时间的孤岛 2023-04-21 17:37关注该回答引用chatgpt:
#include <stdio.h> #include <string.h> int main() { char str1[21], str2[21], result[41]; int n, len1, len2; printf("请输入第一个字符串:"); scanf("%s", str1); printf("请输入第二个字符串:"); scanf("%s", str2); printf("请输入插入位置n:"); scanf("%d", &n); len1 = strlen(str1); len2 = strlen(str2); if (n < 0 || n > len1) { printf("插入位置不合法\n"); return 0; } // 将第一个字符串的前n个字符复制到结果字符串中 strncpy(result, str1, n); // 将第二个字符串复制到结果字符串的n位置处 strncpy(result+n, str2, len2); // 将第一个字符串的n位置后面的字符复制到结果字符串中 strncpy(result+n+len2, str1+n, len1-n); // 输出结果字符串 printf("插入后的结果为:%s\n", result); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用