Open In App

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; 
}
Article Tags :