c语言题目描述 用指针实现:有一字符串,包含n(n≥0)个字符。写一函数,将此字符串中从第m(1≤m≤n)个字符开始的全部字符复制成为另一个字符串。 输入 先输入1个字符串(长度不超过80),假设其长度为n。 再输入要截取的起点m(1≤m≤n)。 输出 将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,并输出。 样例输入 C programming. 3 样例输出 programming.
时间: 2024-02-25 19:54:31 浏览: 56
好的,这是一道 c 语言的编程题目,我会尽力帮助你解决问题。
你可以参考下面的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
void copy_string(char *dest, char *src, int start) {
int i = 0;
while (*(src + start + i - 1) != '\0') {
*(dest + i) = *(src + start + i - 1);
i++;
}
*(dest + i) = '\0';
}
int main() {
char str[MAX_LEN + 1];
char new_str[MAX_LEN + 1];
int start;
scanf("%s %d", str, &start);
copy_string(new_str, str, start);
printf("%s\n", new_str);
return 0;
}
```
程序中的 `copy_string` 函数就是用来复制字符串的,其中:
- `dest` 表示目标字符串的指针;
- `src` 表示源字符串的指针;
- `start` 表示从源字符串的第 `start` 个字符开始复制。
函数的实现思路是:从源字符串的第 `start` 个字符开始,依次将字符复制到目标字符串中,直到源字符串的末尾。最后,在目标字符串的末尾添加一个结束符 `\0`。
在 `main` 函数中,我们先从输入中读取原始字符串和起始位置,然后调用 `copy_string` 函数进行复制,最后输出复制后的字符串。
如果你有任何问题,都可以随时问我哦!
阅读全文