Мне необходимо было измерить длину моего массива (кол-во элементов) и я решил поделить размер массива (sizeof(массив)) на (sizeof(тип элемента массива)), но компилятор выдаёт ошибку.
int one_symb_diff(const char *s1, const char *s2)
{
int len = strlen(s1);
int diff_n = 0;
for (size_t i = 0; i < len; i++)
{
if (s1[i] != s2[i]) diff_n ++;
}
if(diff_n == 1) return 1;
else return 0;
}
int word_chain(const char *s1, const char *s2, const char *dict[])
{
for (size_t i = 0; i < sizeof(dict)/sizeof(const char); i++)
{
if ((one_symb_diff(dict[i], s1)) * (one_symb_diff(dict[i], s2))) return i;
}
return -1; // заменить 0 на ответ
}
‘sizeof’ on array function parameter ‘dict’ will return size of ‘const char **’ [-Wsizeof-array-argument]
17 | for (size_t i = 0; i < sizeof(dict)/sizeof(const char); i++)
| ^