使用C语言编写程序从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。写出完整代码并给出解释并对代码作出注释
时间: 2023-03-03 15:49:15 浏览: 197
好的,以下是使用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表示成功。
阅读全文