编写函数void strcopy(char s1[], char s2[], int m, int n)将s1串中下标m开始的n个子串拷贝到s2中,要求从键盘输入s1串,m和n,调用函数完成拷贝后输出s2。
时间: 2024-01-22 19:20:27 浏览: 41
C/C++中的mem函数和strcopy函数的区别和应用
下面是函数的实现:
```c
#include <stdio.h>
#include <string.h>
void strcopy(char s1[], char s2[], int m, int n) {
int len = strlen(s1);
int i, j;
for (i = m, j = 0; i < m + n && i < len; i++, j++) {
s2[j] = s1[i];
}
s2[j] = '\0';
}
int main() {
char s1[100], s2[100];
int m, n;
printf("请输入字符串s1、起始下标m和子串长度n:\n");
scanf("%s %d %d", s1, &m, &n);
strcopy(s1, s2, m, n);
printf("拷贝后的字符串s2为:%s\n", s2);
return 0;
}
```
函数的实现过程比较简单,主要是利用循环将s1串中下标m开始的n个字符拷贝到s2中。需要注意的是,由于s2是一个字符串,所以在最后要手动添加一个'\0'字符,表示字符串的结束。
阅读全文