字符串str1和str2作为输入参数,分别传入cut函数。cut函数负责从传入的字符串中截取指定范围(例如:从第2个字符开始,到第5个字符结束的部分)的内容(截取范围也作为 cut 函数的输入参数传入。)。截取结果分别放在字符串 str3 和 str4 中。再将 str3 和str4 作为输人参数传人 connect 函数。connect 函数负责将传入的两个字符串顺序拼接在起。编程实现上述函数,要求最终输出拼接结果。不能用全局变量。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void cut(char* str, int start, int end, char* result) {
int len = strlen(str);
if (start < 0 || end >= len || start > end) {
result[0] = '\0';
return;
}
int i, j;
for (i = start, j = 0; i <= end; i++, j++) {
result[j] = str[i];
}
result[j] = '\0';
}
void connect(char* str1, char* str2, char* result) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j;
for (i = 0; i < len1; i++) {
result[i] = str1[i];
}
for (j = 0; j < len2; j++) {
result[i + j] = str2[j];
}
result[i + j] = '\0';
}
int main() {
char str1[100], str2[100], str3[100], str4[100], result[200];
int start, end;
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
printf("请输入截取范围的起始位置和结束位置(空格分隔):");
scanf("%d %d", &start, &end);
cut(str1, start, end, str3);
cut(str2, start, end, str4);
connect(str3, str4, result);
printf("拼接结果为:%s\n", result);
return 0;
}