C | Macro & Preprocessor | Question 9
Output?
#include<stdio.h>
#define f(g,g2) g##g2
int main()
{
int var12 = 100;
printf ( "%d" , f(var,12));
return 0;
}
|
(A) 100
(B) Compiler Error
(C) 0
(D) 1
Answer: (A)
Explanation: The operator ## is called “Token-Pasting” or “Merge” Operator. It merges two tokens into one token. So, after preprocessing, the main function becomes as follows, and prints 100.
int main()
{
int var12 = 100;
printf("%d", var12);
return 0;
}
Last Updated :
09 Feb, 2013
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...