O/p : if
If not initialized o/p will remain same
Since condition is if defined THIS && THAT and both are defined in both cases the "if" string will be printed
else part will be going to execute only if you remove
#define THIS or #define THAT or both
Basically ifdef and ifndef checks for #define for those MACROS