c实现一个短字符串是否在另一个长字符串里面

#include <stdio.h>

int main()
{
    char arr[] = "ijmkijmkijmkijk";
    char goalArr[] = "ijk";
    int i = 0;
    int j = 0;
    int flag = 0;
    while (arr[i] != '\0')
    {
        while (arr[i] == goalArr[j] && goalArr[j]!='\0')
        {
            j++;
            i++;
        }
        //说明短字符串在长字符串中可以找到
        if (goalArr[j] == '\0')
        {
            flag = 1;
            int index = i - j;
            printf("find index %d\n", index);
            break;
        }
        else
        {
            //这段代码考虑到只有部分字符串满足的情况下 此时j已经修改过 需重新归0
            j = 0;//归0
        }
        i++;
    }
    printf("flag:%d ", flag);
    system("pause");
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/littlelittleprince/p/12298696.html