C Preprocessor - Programming

Q1:

Which of the following are correct preprocessor directives in C?
1: #ifdef
2: #if
3: #elif
4: #undef

A 1, 2

B 4

C 1, 2, 4

D 1, 2, 3, 4

ANS:D - 1, 2, 3, 4

The macros #ifdef #if #elif are called conditional macros. The macro #undef undefine the previosly declared macro symbol. Hence all the given statements are macro preprocessor directives.