Ответ 1
Раздел, разрешающий неявное правило int в C89, будет сектором 3.5.2
Спецификаторы типов, который говорит (выделение мое):
int, signed, signed int, или нет спецификаторов типа
Кит Томпсон в комментариях указывает, что в C90 раздел 6.5.2
и говорит: "Единственное различие - это некоторый вводный материал, требуемый ISO, в результате которого происходит нумерация разделов.
В C99, где это изменилось, раздел 6.7.2
Спецификаторы типов, и он говорит:
int, подписанный или подписанный int
Это также рассматривается в документе N661: Запретить неявный "int" в объявлениях, в котором говорится:
Изменить в 6.5.2 Спецификаторы типа; добавить новое предложение в начало первого абзаца ограничений: По меньшей мере один спецификатор типа должен быть указан в спецификаторы декларации в объявлении.
Change in 6.5.2 Type specifiers, Constraints, from: -- int, signed, signed int, or no type specifiers to: -- int, signed, or signed int