用C语言写代码.使用指针和函数编写一程序,将字符串str2中从第m个字符开始的全部字符复制成另一个字符串str1。要求在主函数中输入字符串str2及m的值并输出复制结果,在被调用函数中完成复制过程,且被调用函数的格式必须为void copystr(char *p1,char *p2, int m),其中p1指向str1,p2指向str2。
时间: 2024-03-21 22:43:42 浏览: 15
以下是用C语言编写的程序代码:
```c
#include <stdio.h>
#include <string.h>
void copystr(char *p1, char *p2, int m) {
int len = strlen(p2);
for (int i = m; i < len; i++) {
*(p1 + (i - m)) = *(p2 + i);
}
*(p1 + len - m) = '\0'; // 添加字符串结束符
}
int main() {
char str1[100], str2[100];
int m;
printf("Enter a string: ");
scanf("%s", str2);
printf("Enter m: ");
scanf("%d", &m);
copystr(str1, str2, m);
printf("Copied string: %s\n", str1);
return 0;
}
```
在这个程序中,我们定义了一个`copystr`函数,它接收两个指向字符数组的指针和一个整数类型的参数`m`。函数中,我们首先使用`strlen`函数获取字符串`str2`的长度,并从第`m`个字符开始复制所有的字符到字符串`str1`中。在复制过程中,我们使用指针算术运算来访问字符数组中的元素。最后,我们在`str1`的结尾添加了一个字符串结束符。
在`main`函数中,我们首先输入字符串`str2`和整数`m`,然后调用`copystr`函数来复制字符串。最后,我们输出复制后的字符串`str1`。