#include <stdio.h>
#include <string.h>
int BruteForceStringMatch(char T[], int n, char P[], int m) {
int i=0, j=0;
for (i=0; i<n-m+1; i++) {
j = 0;
while (j < m && P[j]==T[i+j]) {
j = j + 1;
if (j = m)
return i;
}
}
return -1;
}
int main() {
char a[100], b[100];
int mark;
printf("请输入一个字符串:");
scanf("%s", a);
printf("请输入一个字符串:");
scanf("%s", b);
mark = BruteForceStringMatch(a, strlen(a), b, strlen(b));
if (mark == -1)
printf("没找到=。=");
else
printf("找到了=_=");
return 0;
}
运行效果图
注意:这个小程序只能匹配不加空格的字符串
本文介绍了一个简单的暴力字符串匹配算法实现,通过C语言演示了如何在一个主字符串中查找子字符串的位置。该程序首先读取两个字符串,然后使用BruteForceStringMatch函数进行匹配,并返回子字符串在主字符串中的起始位置。
1481

被折叠的 条评论
为什么被折叠?



