本项目使用顺序存储的方式存储两个字符串,并对这两个串进行模式匹配
其中第一个输入的字符串为目标串,第二个输入的字符串为模式串
输出为模式串(子串)在目标串(主串)中的位置;
若第二次输入的串并非第一次输入的串的子串,则输出提示信息;
运行效果
全部代码
#include <stdio.h>
#include <stdlib.h>
#define Max 50
struct String{
char data[Max]; //用于存储字符串
int len; //用于存储当前字符数
};
struct String *input(void); //输入
int str_cmp(struct String *s1,struct String *s2); //模式匹配
int main(void){
struct String *p1,*p2;
int result;
printf("请输入两个字符串,系统会对两个串进行模式匹配\n");
printf("请输入第一个字符串(目标串):\n");
p1 = input();
printf("请输入第二个字符串(模式串