グナラ暗黒の神(プログラミングは文字列の中子列の検索を実現する)


C言語で効率的な関数を記述して、文字列からサブ列の位置を見つけて、その下付き文字を返してください.注意:パラメータの文字列はすべて0で終了します(C/C++内蔵文字列検索関数は使用できません)
/***************************************************************
File Name: my_strstr.c Author:浮生流年Function List:main()主関数Created Time:2018年02月09日金曜日14時25分05秒*************************************************************************/
#include 

int findString(const char str[], const char sub[])
{
    const char *p, *q;
    int i = 0;
    if (NULL == str || NULL == sub)//  str sub    
        return -1;

    while (*str)//  str   
    {
        p = str;
        q = sub;
        while (*p++ == *q++)//  sub   
        {
            if (*q == '\0')//    sub        
                return i;  //     sub   ,  
        }
        i++;
        str += 1;
    }
    return -1;
}

int main()
{
    char a[] = "hello world";
    char b[] = "ld";
    int i;
    i = findString(a, b);
    if (i == -1)
        printf("    
"
); else printf(" %d
"
, i); return 0; }