グナラ暗黒の神(プログラミングは文字列の中子列の検索を実現する)
2613 ワード
C言語で効率的な関数を記述して、文字列からサブ列の位置を見つけて、その下付き文字を返してください.注意:パラメータの文字列はすべて0で終了します(C/C++内蔵文字列検索関数は使用できません)
/***************************************************************
File Name: my_strstr.c Author:浮生流年Function List:main()主関数Created Time:2018年02月09日金曜日14時25分05秒*************************************************************************/
/***************************************************************
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;
}