使用C语言编写程序从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。写出完整代码并给出解释并对代码作出注释
时间: 2023-03-03 13:49:15 浏览: 188
去掉重复的字符串及在第一个字符串中删除在第二个字符串中出现的字符
好的,以下是使用C语言编写程序从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符的完整代码,并附有注释说明。
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100]; // 声明一个长度为100的字符数组,用于存储输入的字符串
int m, n, len; // 声明整型变量m、n、len,分别表示从哪个位置开始、要输出几个字符以及字符串的长度
printf("请输入一个字符串:\n");
scanf("%s", str); // 从键盘读取一个字符串,存储到字符数组str中
printf("请输入m和n:\n");
scanf("%d%d", &m, &n); // 从键盘读取两个整数,分别存储到变量m和n中
len = strlen(str); // 使用strlen函数获取字符串的长度,存储到变量len中
if (m < 1 || m > len || n < 1 || m + n - 1 > len) {
printf("输入的m或n不合法\n");
return 1; // 如果m或n的值不合法,则输出错误信息并退出程序
}
printf("结果为:\n");
for (int i = m - 1; i < m + n - 1; i++) {
printf("%c", str[i]); // 循环输出从m开始,连续n个字符
}
printf("\n");
return 0; // 程序执行完毕,返回0表示成功
}
```
程序首先声明了一个长度为100的字符数组`str`,用于存储从键盘输入的字符串。然后通过`scanf`函数从键盘读取一个字符串,存储到字符数组`str`中。
接着程序通过`scanf`函数从键盘读取两个整数`m`和`n`,表示要从哪个位置开始、要输出几个字符。
使用`strlen`函数获取输入的字符串长度,存储到变量`len`中。
判断输入的`m`和`n`是否合法,如果不合法则输出错误信息并退出程序。如果合法,则通过一个循环输出从`m`开始,连续`n`个字符。
最后,程序返回0表示成功。
阅读全文