Como C Manipula Literais Inteiros com Zeros Maiores, e Que Acerca de Aci?

Quando você cria um número inteiro com zeros à esquerda, como c manipula isso? É diferente para diferentes versões do C?

No meu caso, eles apenas parecem ser descartados (mas talvez seja isso que o printf faz?):

#include <stdio.h>

int main() {
    int a = 005;
    printf("%i\n", a);
    return 0;
}

Eu sei que posso usar printf para pad com 0s, mas estou apenas me perguntando como isso funciona.

questionAnswers(8)

yourAnswerToTheQuestion