好的,下面是实现上述功能的代码:#include <stdio.h>#include <stdlib.h>#include <string.h>char *substrcpy(char *str1, int m, char *str2) { int len = strlen(str1); // 获取字符串长度 // 判断m是否大于字符串长度 if (m > len) { return NULL; // 返回NULL表示出错 } int i = 0; for (; i < len - m; i++) { str2[i] = str1[i + m]; // 复制字符到新的字符串中 } str2[i] = '\0'; // 字符串末尾加上结束符'\0' return str2; // 返回新字符串的首地址}int main() { char str1[100]; printf("请输入一个字符串:"); scanf("%s", str1); int m; printf("请输入m的值:"); scanf("%d", &m); char *str2 = (char *)malloc(strlen(str1) + 1); // 动态分配内存给新字符串 char *result = substrcpy(str1, m, str2); if (result == NULL) { printf("Data error!\n"); } else { printf("得到的新字符串为:%s\n", result); } free(str2); // 释放新字符串所占的内存 return 0;}
希望能够帮助你解决问题!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |