I was going through few interview questions and I came across example as below. I tried the example for simple input/output and also for some logic and it works without any problems.
??=include <stdio.h>
int main(void)
??<
printf("Hello");
// Other code lines here
return 0;
??>
To my surprise, this worked without any compilation issue and output was as required.
What is the significance of '??=', '??<' and '??>' here ?
What is the significance of '??=', '??<' and '??>' here ?
??=will be replaced with#,??<will be replaced with{,??>will be replaced with},by the preprocessor. These are called trigraphs. There are 9 trigraphs in total; the others are:
??(will be replaced with[,??)will be replaced with],??/will be replaced with\,??'will be replaced with^,??!will be replaced with|,??-will be replaced with~.Trigraphs are processed very early in the translation process, before the source code is tokenized. They can affect comments and strings and character literals.