#elif stands for "else if". Like #else, it goes in the
middle of a conditional group and subdivides it; it does not require a
matching #endif of its own. Like #if, the #elif
directive includes an expression to be tested. The text following the
#elif is processed only if the original #if-condition
failed and the #elif condition succeeds.

More than one #elif can go in the same conditional group. Then
the text after each #elif is processed only if the #elif
condition succeeds after the original #if and all previous
#elif directives within it have failed.

#else is allowed after any number of #elif directives, but
#elif may not follow #else.