Курс CS50 язык С
Выдаёт ошибку "control may reach end of non-void function". Подскажите, пожалуйста, что не так.
int find_length(long n)
{
int len;
for (len = 0; n!=0; n/=10, len++)
return len;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
У вас получается
for (len = 0; n!=0; n/=10, len++) return len;
Если n не равно 0, то выполняется возврат len, равного 0.
А если n равно 0, то цикл не выполняется, и получается, что функция ничего не возвращает, хотя должна.
Вы, похоже, просто забыли точку с запятой:
for (len = 0; n!=0; n/=10, len++);
return len;