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

The output of the following program is:

#define f(g,g2) g##g2void main(){ int var12=100; printf("%d", f(var,12));}
Correct Answer 100

## 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.

Related Questions

Comment on the following 2 C programs.
#include  //Program 1int main(){ int a; int b; int c;}#include  //Program 2int main(){ int a; { int b; } { int c; }}