это ключевое слово, а не макрос - его интерпретация не имеет ничего общего с препроцессором, поэтому не является исключением.
репроцессор, кажется, предполагает, что неопределенные константы равны 0 для оценки#if
условия.
Можно ли полагаться на это, или неопределенные константы дают неопределенное поведение?