Verificando o valor de retorno de uma função sem a declaração de retorno

Usando o exemplo abaixo, explique por que às vezes a declaração de retorno não é necessária? A função tem um tipo de retorno, mas a instrução de retorno está ausente. Enquanto isso, o programa compila e funciona be

Por favor me ajude a entender isso melhor

      5 
      6 char* handleInput() {
      8     fgets(buffer, 1024, stdin);
      9 **//    return buffer;**       <---- COMMENTED RETURN
     10 }
     11 
     12 void main() {
     14         char* ptr = handleInput();
     15         int flag = atoi(ptr);    
     16         if (flag < 0) break;    
     17         printf("You entered: %s\n", ptr);
     20 }

questionAnswers(3)

yourAnswerToTheQuestion