J.2 Неопределенное поведение 1 Поведение не определено при следующих обстоятельствах:
Требование "должен" или "не должен", которое выходит за рамки ограничения, нарушено (пункт 4).
Непустой исходный файл не заканчивается символом новой строки, которому непосредственно не предшествует символ обратной косой черты, или заканчивается символом частичной предварительной обработки или комментарием (5.1.1.2).
Конкатенация токенов создает последовательность символов, соответствующую синтаксису универсального символьного имени (5.1.1.2).
Программа в размещенной среде не определяет функцию с именем main , используя одну из указанных форм (5.1.2.2.1).