Я (быстро) написал код и случайно перевернул аргументы в scanf():
char i[] = "ABC1\t";
scanf(i, "%s");
Компиляция с помощью gcc -Werror -Wall -Wextra не жалуется на этот бит. Очевидно, что этот код не работает, но почему gcc не сообщил мне, что я перевернул аргументы? Не может ли он обнаружить, что i не является строкой формата или что второй аргумент не является типом хранилища?
  ИЗМЕНИТЬ 
Спасибо, что поняли все. Похоже, я нашел ответ, был фальсифицирован флаг -Wformat, который делает это "захватывающим" (размещенное ниже для справки)
