I m getting output as 3 4.
How its evaluated? ..
My doubt is preprocessing happens b4 compiling.. then why first printf not printing 4..
Is it something like scope??
Code:const int perplexed = 2; #define perplexed 3 void func(); int main() { printf("%d",perplexed); // getting 3 here #ifdef perplexed #undef perplexed #define perplexed 4 #endif printf("%d",perplexed); // getting 4 here