Home / C Programming / C Preprocessor :: Discussion

Discussion :: C Preprocessor

  1. 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; 
    } 
    

  2. A.

    Yes

    B.

    No

    View Answer

    Workspace

    Answer : Option A

    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.


Be The First To Comment