ifelif
ifelif allows us to take one action if there are multiple decision points. For example, if you want to take the currency rate of 1 if USD and UKP are not defined, you can write the following program.
Example
#include <stdio.h> #if (defined (USD)) // B #define currency_rate 46 #elif (defined (UKP)) #define currency_rate 100 //C #else # define currency_rate 1 //D #endif int main() { int rs; rs = 10 * currency_rate; //H printf ("%d\n", rs); getchar(); }
Explanation
- Statement B includes the ifelif directive. It is similar to the else directive.
- #elif appears only after #if, #ifdef, #ifndef, and #elif.
- #elif is similar to #else but it is followed by a condition.
- You can have as many #elif directives as you want.
- If USD is defined, then the currency rate is 46; otherwise, if UKP is defined, then the currency rate is 100; otherwise, the currency rate is 1.
- In this example USD and UKP are not defined so the currency rate is taken as 1.
Points to Remember
- #elif is similar to #else but it is followed by a condition.
- #elif allows taking action in the case of multiple decision points.