Open In App

C | Macro & Preprocessor | Question 14

Like Article
Like
Save
Share
Report

What is the output of following program? 

C




#include <stdio.h>
#define macro(n, a, i, m) m##a##i##n
#define MAIN macro(n, a, i, m)
 
int MAIN()
{
    printf(\"GeeksQuiz\");
    return 0;
}


(A)

Compiler Error

(B)

GeeksQuiz

(C)

MAIN

(D)

main


Answer: (B)

Explanation:

The program has a preprocessor that replaces \”MAIN\” with \”macro(n, a, i, m)\”. The line \”macro(n, a, i, m)\” is again replaced by main. The key thing to note is token pasting operator ## which concatenates parameters to macro.


Quiz of this Question
Please comment below if you find anything wrong in the above post


Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads