c语言编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。
时间: 2024-03-06 18:47:32 浏览: 135
可以使用指针操作来实现字符串的复制,具体代码如下:
```
#include <stdio.h>
#include <string.h>
void copyString(char *dest, char *src, int m);
int main() {
char str1[100], str2[100];
int m;
printf("请输入字符串:");
scanf("%s", str1);
printf("请输入m的值:");
scanf("%d", &m);
copyString(str2, str1, m);
printf("复制结果:%s\n", str2);
return 0;
}
void copyString(char *dest, char *src, int m) {
int len = strlen(src);
if (m < 1 || m > len) { // m的值不符合要求
*dest = '\0';
return;
}
src += (m - 1); // src指针指向第m个字符
while (*src != '\0') {
*dest++ = *src++;
}
*dest = '\0'; // 添加字符串结束标志
}
```
在主函数中输入字符串和m的值,然后调用copyString函数进行复制。在copyString函数中,首先判断m的值是否符合要求(即大于等于1且小于等于字符串长度),如果不符合则将dest指向的字符设置为字符串结束标志'\0',表示复制失败。如果符合要求,则将src指针指向第m个字符,然后使用while循环依次将src指针指向的字符复制到dest指针指向的位置,直到src指针指向字符串的结束标志'\0'为止。最后在dest指针指向的位置添加字符串结束标志'\0',表示复制成功。
阅读全文