用c语言实现顺序串的简单匹配
时间: 2024-05-12 09:18:43 浏览: 15
以下是用C语言实现顺序串的简单匹配的示例代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int match(char *str, char *pattern) {
int i, j, k;
int len1 = strlen(str);
int len2 = strlen(pattern);
if (len1 < len2) {
return -1;
}
for (i = 0; i <= len1 - len2; i++) {
k = i;
for (j = 0; j < len2; j++) {
if (str[k] == pattern[j]) {
k++;
} else {
break;
}
}
if (j == len2) {
return i;
}
}
return -1;
}
int main() {
char str[MAX_LEN];
char pattern[MAX_LEN];
printf("请输入原字符串:\n");
scanf("%s", str);
printf("请输入模式串:\n");
scanf("%s", pattern);
int index = match(str, pattern);
if (index == -1) {
printf("未匹配到模式串\n");
} else {
printf("匹配到模式串,起始位置为%d\n", index);
}
return 0;
}
```
该程序先输入原字符串和模式串,然后调用match函数进行匹配。match函数中使用两个循环,第一个循环从原字符串的第一个字符开始循环到倒数第len2个字符,第二个循环用于判断原字符串中从当前位置开始与模式串是否匹配。如果匹配,则返回当前位置i。如果整个循环结束后都没有匹配到模式串,则返回-1。最后在main函数中根据match函数的返回值输出匹配结果。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)