Home / C Programming / C Preprocessor :: Discussion

Discussion :: C Preprocessor

  1. What will be the output of the program?

     #include 
     #define PRINT(i) printf("%d,",i) 
    
     int main()
     {   
        int x=2, y=3, z=4;  
        PRINT(x);     
        PRINT(y);   
        PRINT(z);    
        return 0;
     } 
    

  2. A.

    2, 3, 4,

    B.

    2, 2, 2,

    C.

    3, 3, 3,

    D.

    4, 4, 4,

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    The macro PRINT(i) print("%d,", i); prints the given variable value in an integer format.

    Step 1: int x=2, y=3, z=4; The variable x, y, z are declared as an integer type and initialized to 2, 3, 4 respectively.

    Step 2: PRINT(x); becomes printf("%d,",x). Hence it prints '2'.

    Step 3: PRINT(y); becomes printf("%d,",y). Hence it prints '3'.

    Step 4: PRINT(z); becomes printf("%d,",z). Hence it prints '4'.

    Hence the output of the program is 2, 3, 4.


Be The First To Comment