C语言编写程序,输入一个字符串和整型数m、n,将该字符串从第m个字符开始的n个 字符复制到另一个字符数组中并输出。
时间: 2024-11-03 21:14:09 浏览: 24
在C语言中,你可以使用标准库函数`strcpy()`和`memcpy()`来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 包含cstring头文件,用于处理字符串
// 定义一个函数来完成字符串复制
void copy_substring(char* src, char* dest, int m, int n) {
if (m >= 0 && n > 0 && m + n <= strlen(src)) { // 检查索引是否合法
memcpy(dest, &src[m], n); // 使用memcpy直接复制指定长度的字节
} else {
printf("Invalid input: m=%d, n=%d\n", m, n);
}
}
int main() {
char str[100]; // 字符串数组用于存储输入
int m, n;
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 读取一行字符串
str[strcspn(str, "\n")] = '\0'; // 去掉fgets读取的换行符
printf("请输入起始位置(m): ");
scanf("%d", &m);
printf("请输入字符个数(n): ");
scanf("%d", &n);
char dest[50]; // 目标字符串数组
copy_substring(str, dest, m, n); // 调用函数复制字符串
printf("复制后的字符串: %s\n", dest);
return 0;
}
```
当你运行这个程序时,它会提示用户输入字符串、起始位置和字符个数,然后复制并打印出指定部分的字符串。
阅读全文