C++输入一个长度不大于30的字符串,将此字符串中从第m个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。
时间: 2024-01-08 07:01:57 浏览: 92
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[31], new_str[31];
int m;
printf("请输入一个长度不大于30的字符串:");
scanf("%s", str);
printf("请输入起始位置m(m必须小于等于字符串长度):");
scanf("%d", &m);
if (m > strlen(str)) {
printf("m必须小于等于字符串长度!");
return 0;
}
strcpy(new_str, str + m - 1);
printf("新字符串为:%s", new_str);
return 0;
}
```
代码逻辑如下:
1. 定义两个字符数组 `str` 和 `new_str`,分别用于存储输入的原始字符串和输出的新字符串;
2. 定义变量 `m`,用于存储起始位置;
3. 通过 `scanf()` 函数分别读取用户输入的字符串和起始位置;
4. 判断起始位置是否超出字符串长度,如果超出则输出提示信息并结束程序;
5. 调用 `strcpy()` 函数将原始字符串中从第 `m` 个字符开始的剩余全部字符复制到新字符串中;
6. 输出新字符串。
阅读全文