Функция strstr и указатели - C (СИ)
Формулировка задачи:
Написал свою версию фунции strstr из стандартной библиотеки string.h (не спрашивайте зачем)
В некоторых компиляторах функция работает успешно, однако gcc выдает вот такой варнинг:
char *strstr_(const char *string1, const char *string2)
{
int i, j, n=strlen_(string2);
for(i=0; string1[i]; i++, j++)
{
if (string1[i]!=string2[j]) j=-1;
if (j==n) return string1+i-n;
}
return 0;
}warning: return discards qualifiers from pointer target type
Я так понял, что ему не нравится возвращаемое значение. Вопрос - почему?Решение задачи: «Функция strstr и указатели»
textual
Листинг программы
char *strstr_(const char *string1, const char *string2)
{
int i, j, n = strlen_(string2);
for (i = 0, j = 0; string1[i]; i++, j++)
{ if (string1[i] != string2[j]) j = -1;
if (j == n-1) return (char *)string1 + i - n+1;
} return NULL;
}