C | Loops & Control Structure | Question 5
Predict the output of the below program:
#include <stdio.h> #define EVEN 0 #define ODD 1 int main() { int i = 3; switch (i & 1) { case EVEN: printf ( "Even" ); break ; case ODD: printf ( "Odd" ); break ; default : printf ( "Default" ); } return 0; } |
(A) Even
(B) Odd
(C) Default
(D) Compile-time error
Answer: (B)
Explanation: The expression i & 1 returns 1 if the rightmost bit is set and returns 0 if the rightmost bit is not set. As all odd integers have their rightmost bit set, the control goes to the block labeled ODD.
Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.