参考了:公共字串计算(最长公共子串/序列)

#include <stdio.h>
#include <string.h>
#define MAX_STR 1024

//暴力破解   写三个for循环 两个遍历字符串 一个确定子串长度
int main(int argc, char const *argv[])
{
    char str1[MAX_STR] = {0};
    char str2[MAX_STR] = {0};
    int max_len = 0, maxTmp = 0;

    scanf("%s\n%s", str1, str2);

    int n = strlen(str1);
    int m = strlen(str2);

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {

            int a = i, b = j; //定义相等字符位置的坐标
            while (str1[a]==str2[b] && a < n && b < m)
            {
                a++;
                b++;
                maxTmp++;
            }
            if (maxTmp > max_len)
            {
                max_len = maxTmp;
            }
            maxTmp = 0;
        }
    }

    printf("%d\n", max_len);

    return 0;
}