Курс 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;
→ Ссылка