Argumentos invertidos no scanf ()

Eu estava (rapidamente) escrevendo algum código e acidentalmente inverti os argumentos emscanf():

char i[] = "ABC1\t";
scanf(i, "%s");

Compilando comgcc -Werror -Wall -Wextra não se queixa disso nem um pouco. Obviamente, esse código não funciona, mas por que o gcc não me informou que eu inverti os argumentos? Não pode detectar quei não é uma string de formato, ou que o segundo argumento não era do tipo armazenável?

EDITAR
Obrigado pela visão tudo, Parece que eu encontrei a resposta, houve uma reviravolta na-Wformat bandeira que torna isso "acessível" (postou abaixo para referência)

questionAnswers(3)

yourAnswerToTheQuestion