Я пытаюсь найти строку внутри другой строки («рука» в, скажем, «карма»).Ищите строку внутри другой строки и укажите местоположение в C
Если есть совпадение, я должен распечатать FOUND at (index)
на консоли (здесь указатель содержит количество букв, начиная с 0).
В противном случае, я должен напечатать NOT FOUND
. Прямо сейчас консоль берет оба входа, но затем завершает работу. Это то, что у меня есть до сих пор:
int main()
{
char string1[10];
char string2[10];
printf("Write first string: ");
scanf("%s", string1);
printf("Write second string: ");
scanf("%s", string2);
for (int i = 0; string1[i] != 0; i++)
{
if (string1[i] == string2[0])
{
for (int j = 0; string2[j] == string1[i + j]; j++)
{
if (string2 == '\0')
{
printf("FOUND at %d", i);
}
}
}
if (string1[i] == '\0')
{
printf("NOT FOUND");
}
}
return 0;
}
Я заранее извиняюсь за отсутствие подпрограмм. Я супер, супер новый для всего этого.
Есть ли какой-то причине вы не разрешается использовать стандартные функции библиотеки? Если да, тогда, пожалуйста, скажите это. –
Любые причины не использовать функции библиотеки C из 'string.h' как' strstr'? – Macmade
Я предполагаю, что он получил это как задание («Я должен ...»), поэтому библиотечные функции, вероятно, обманывают. Он сделал все возможное и показал свой код, поэтому его вопрос кажется законным. – Leeor