#elif
' DirectiveOne common case of nested conditionals is used to check for more than two possible alternatives. For example, you might have
#if X == 1 ... #else /* X != 1 */ #if X == 2 ... #else /* X != 2 */ ... #endif /* X != 2 */ #endif /* X != 1 */
Another conditional directive, `#elif
', allows this to be abbreviated
as follows:
#if X == 1 ... #elif X == 2 ... #else /* X != 2 and X != 1*/ ... #endif /* X != 2 and X != 1*/
`#elif
' stands for ``else if''. Like `#else
', it goes in the
middle of a `#if
'-`#endif
' pair 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 `#if
'-`#endif
'
group. Then the text after each `#elif
' is processed only if the
`#elif
' condition succeeds after the original `#if
' and any
previous `#elif
' directives within it have failed. `#else
' is
equivalent to `#elif 1
', and `#else
' is allowed after any
number of `#elif
' directives, but `#elif
' may not follow
`#else
'.
Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.