Функция «если» получает ошибку «управление может достигнуть конца непустой функции» в C

В этой функции я попытался вернуть разныеint значения в зависимости от различных входных символов char *. Но я получил ошибку «контроль может достигнуть конца непустой функции». Как я могу это решить?

// Converts a fraction formatted as X/Y to eighths
int duration(char* fraction)
{
    if (strcmp(fraction, "1/8") == 0)
    {
        return 1;
    }
    else if (strcmp(fraction, "1/4") == 0)
    {
        return 2;
    }
    else if (strcmp(fraction, "3/8") == 0)
    {
        return 3;
    }
    else if (strcmp(fraction, "1/2") == 0)
    {
        return 4;
    }
}
# if-statement return-value compiler-errors conditional-statements
Источник
  • 3
    Что возвращается, если fraction нет?
  • 3
    что такое string ?
  • 1
    @wildplasser - скорее всего typedef char *string; из cs50.h для курса CS50. Предположение, но не безумное.
  • 0
    @wildplasser, Джонатан сделал правильное предположение.
Codelisting
Codelisting
Популярные категории
На заметку программисту