C | Macro & Preprocessor | Question 14
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
Share your thoughts in the comments
Please Login to comment...