使用函数实现字符串复制:输入一个字符串 t 和一个正整数 m,将字符串 t 中从第 m 个字符开始的全部字符复制到字符串 s 中,再输出字符串 s。要求自定义并调用函数 void strmcpy(char *s, char *t, int m)。
时间: 2024-05-16 12:16:33 浏览: 101
字符串复制
5星 · 资源好评率100%
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
void strmcpy(char *s, char *t, int m);
int main() {
char t[100];
char s[100];
int m;
printf("请输入字符串 t:");
scanf("%s", t);
printf("请输入正整数 m:");
scanf("%d", &m);
strmcpy(s, t, m);
printf("复制后的字符串 s 为:%s", s);
return 0;
}
void strmcpy(char *s, char *t, int m) {
int i = m - 1;
int j = 0;
while (t[i] != '\0') {
s[j] = t[i];
i++;
j++;
}
s[j] = '\0'; // 字符串结尾
}
```
代码中定义了一个自定义函数 `strmcpy`,用于实现字符串复制。该函数接收三个参数:`s`,`t` 和 `m`,分别表示目标字符串、源字符串和复制起始位置。函数中使用两个指针变量 `i` 和 `j` 分别指向字符串 `t` 和 `s` 的位置,然后通过循环将从第 `m` 个字符开始的全部字符复制到字符串 `s` 中。最后在字符串 `s` 的末尾添加一个字符串结尾符 `\0`,以表示字符串的结束。在 `main` 函数中,调用 `strmcpy` 函数并输出复制后的字符串 `s`。
阅读全文