1.创建顺序串S1=”Array”和S2=“GeneralizedList”(也可以自已确定 每个字符串的内容)。 2.调用复制函数(以S1为参数),观察复制的结果并验证其正确性。 3.调用比较函数(以S1,S2为参数),观察比较的结果并验证其正确性。 4.调用连接函数(以S1,S2为参数),观察比较的结果并验证其正确性。 5.调用取子串函数,观察截取结果并验证其正确性(提示:需要提供两个参数:开始的起始位置,以及要截取的长度)。 6.调用删除子串函数,观察截取结果并验证其正确性(提示:需要提供两个参数:删除的起始位置,以及要删除的长度)。C语言
时间: 2024-03-27 20:36:39 浏览: 60
java实现字符串匹配求两个字符串的最大公共子串
好的,以下是C语言实现上述操作的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
//1. 创建顺序串S1=”Array”和S2=“GeneralizedList”
char S1[] = "Array";
char S2[] = "GeneralizedList";
//2. 调用复制函数(以S1为参数)
char S1_copy[strlen(S1) + 1];
strcpy(S1_copy, S1);
//3. 调用比较函数(以S1,S2为参数)
int cmp_result = strcmp(S1, S2);
//4. 调用连接函数(以S1,S2为参数)
char S1_S2[strlen(S1) + strlen(S2) + 1];
strcpy(S1_S2, S1);
strcat(S1_S2, S2);
//5. 调用取子串函数
int start_pos = 1;
int sub_len = 3;
char S1_sub[sub_len + 1];
strncpy(S1_sub, S1 + start_pos, sub_len);
S1_sub[sub_len] = '\0';
//6. 调用删除子串函数
int del_pos = 1;
int del_len = 2;
memmove(S1 + del_pos, S1 + del_pos + del_len, strlen(S1) - del_pos - del_len + 1);
//输出结果
printf("S1_copy: %s\n", S1_copy);
printf("cmp_result: %d\n", cmp_result);
printf("S1_S2: %s\n", S1_S2);
printf("S1_sub: %s\n", S1_sub);
printf("S1 after deletion: %s\n", S1);
return 0;
}
```
代码中使用了C标准库中的一些字符串函数,如strcpy、strcmp、strcat、strncpy、memmove等。需要注意的是,在使用这些函数时,需要预留足够的空间来存储字符串,避免出现内存溢出等错误。
阅读全文