Starts an optional, alternative conditional-assembly block, adding another boolean-expression condition.
#elif bool-expr statement-group
bool-expr
Any boolean expression.
statement-group
Any valid assembly statements.
This directive must be part of an #if ... #elif ... [#else] ... #endif conditional structure (with each of these directives starting a new line). The preprocessor implements the assembly statements that #elif introduces only if (1) the bool-expr condition of the #if directive is false, and (2) the bool-expr condition of the #elif directive is true.
For a logical structure of multiple levels, you can use the #elif directive several times, as in this pattern:
#if bool-expr-1
statement-group-1
#elif bool-expr-2
statement-group-2
#elif bool-expr-3
statement-group-3
#elif bool-expr-4
statement-group-4
#else
statement-group-5
#endif