Multiple choice general knowledge science & technology

#define str "TCS" ## "Hyd" main() { printf(str); }

  1. compilation error

  2. TCS Hyd

  3. runtime error

  4. non of above

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation

The preprocessor concatenates 'TCS' and 'Hyd' into a single string literal 'TCS Hyd'. The ## operator performs token pasting during preprocessing, before compilation. This is valid preprocessor syntax that results in a single string that printf will output correctly. There's no compilation or runtime error - the code works as intended.