Examveda
Examveda

The output of the following program is:
#define f(g,g2) g##g2
void main()
{
   int var12=100;
   printf("%d", f(var,12));
}

A. Syntax error

B. Runtime error

C. g##g2

D. 100

E. 10012

Answer: Option D

Solution(By Examveda Team)

## is token pasting operator which simply combines all the parameters of macro into one variable.
So, in f(var, 12), var and 12 combines to form var12 and replaces the f(var, 12) and hence the output is 100.


This Question Belongs to C Program >> C Preprocessor

Join The Discussion

Related Questions on C Preprocessor