Nenhum tipo definido de parâmetro de função assume como padrão int? Eu sou insano

or algum motivo estranho, eu estava copiando um exemplo em outro idioma que não usa tipos e esqueci de adicionar um a um parâmetro de definição de função, e funciono

#include <stdio.h>

char toChar(n) {
  //sizeof n is 4 on my 32 bit system
  const char *alpha = "0123456789ABCDEF";
  return alpha[n];
}

int main() {
  putchar(toChar(15)); //i.e.
  return 0;
}

Tenho certeza de que os principais padrões de int da maioria dos compiladores de algum padrão (mas retornam apenas) também são um comportamento verdadeiro para outras funções ou essa implementação está definida? Parece fora do comum, meu compilador é apenas uma porta GCC ligeiramente desatualizada (MinGW

questionAnswers(3)

yourAnswerToTheQuestion