Argumentos invertidos en scanf ()

Estaba (rápidamente) escribiendo algún código y accidentalmente invirtí los argumentos enscanf():

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

Compilando congcc -Werror -Wall -Wextra no se queja de esto un poco Obviamente, este código no funciona, pero ¿por qué gcc no me informó que invirtí los argumentos? No puede detectar esoi ¿No es una cadena de formato, o que el segundo argumento no era un tipo que se pueda almacenar?

EDITAR
Gracias por la comprensión de todos, Parece que encontré la respuesta, hubo un giro en el-Wformat bandera que hace que este sea "capturable" (publicado debajo para referencia)

Respuestas a la pregunta(3)

Su respuesta a la pregunta