私の目標は関数を呼び出すことであり、送信された文字列に送信された部分文字列が含まれている場合、関数は 0 / 1 を返します。たとえば、そのインデックスを見つける必要はありません。
文字列: "Hello World"サブ文字列:
"rl"
は 1 を返します
文字列: "asssbdsd" サブ文字列:
"ab"
は 0 を返します
だから私はこの解決策を思いついた:
int HasSubstr(char* mainStr, char* subStr)
{
if (!*subStr)
{
return 1;
}
if (!*mainStr)
{
return 0;
}
if (*mainStr == *subStr)
{
return HasSubStr(mainStr + 1, subStr + 1);
}
else
{
while(*(subStr -1))
{
subStr--;
}
return HasSubStr(mainStr + 1, subStr);
}
}
しかし、それは純粋な再帰ではなく、純粋な再帰である必要があります。ヘルプが大いに適用されます
はい、これは宿題です