Open In App

C | Macro & Preprocessor | Question 9

Like Article
Like
Save
Share
Report

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
Previous
Next
Share your thoughts in the comments
Similar Reads