c题目描述 用指针实现:有一字符串,包含n(n≥0)个字符。写一函数,将此字符串中从第m(1≤m≤n)个字符开始的全部字符复制成为另一个字符串。 输入 先输入1个字符串(长度不超过80),假设其长度为n。 再输入要截取的起点m(1≤m≤n)。 输出 将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,并输出。 样例输入 C programming. 3 样例输出 programming.
时间: 2024-02-25 07:54:16 浏览: 37
好的,这是一道关于字符串操作的题目。下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81], new_str[81];
int m, n;
printf("请输入一个字符串:");
scanf("%s", str);
n = strlen(str);
printf("请输入要截取的起点:");
scanf("%d", &m);
if (m < 1 || m > n) {
printf("输入无效!\n");
return 0;
}
strcpy(new_str, str+m-1);
printf("截取后的字符串为:%s\n", new_str);
return 0;
}
```
解释一下代码:
1. 首先定义了两个字符串数组,`str` 用来存放输入的字符串,`new_str` 用来存放截取后的字符串;
2. 接着定义了两个整型变量 `m` 和 `n`,`n` 用来记录输入字符串的长度,`m` 用来记录要截取的起点;
3. 通过 `scanf` 函数获取输入的字符串 `str` 和截取起点 `m`;
4. 判断截取起点是否有效,即判断 `m` 是否在 1 到 `n` 之间,若不在,则输出提示信息并结束程序;
5. 使用 `strcpy` 函数将从第 m 个字符开始的全部字符复制到 `new_str` 中,并在最后输出截取后的字符串。
注意:`strcpy` 函数可以将一个字符串复制到另一个字符串中,第一个参数是目标字符串,第二个参数是源字符串。
阅读全文