Home » C Programming » C Preprocessor

Will the program compile successfully? #include int main() { #ifdef NOTE int a; a=10; #else int a; a=20; #endif printf("%d\n", a); return 0; }

Correct Answer: Yes

Explanation:

Yes, this program will compile and run successfully and prints 20.


The macro #ifdef NOTE evaluates the given expression to 1. If satisfied it executes the #ifdef block statements. Here #ifdef condition fails because the Macro NOTE is nowhere declared.


Hence the #else block gets executed, the variable a is declared and assigned a value of 20.


printf("%d\n", a); It prints the value of variable a 20.


← Previous Question Next Question→

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion