Por que o compilador não detecta fora dos limites na inicialização constante da cadeia de caracteres?
Eu li essa pergunta e sua resposta em um livro. Mas eu não entendi a justificativa do livro.
O código a seguir compilará?
int main()
{
char str[5] = "fast enough";
return 0;
}
E a resposta foi:
O compilador nunca detecta o erro se os limites de uma matriz forem excedidos.
Eu não consegui.
Alguém pode por favor explicar isso?