Standard C++ Library Reference ISO/IEC (VERSION3)

You can write a string literal that begins with a specific numeric value:
"\3abc" which becomes the array
{3, 'a', 'b', 'c', 0}
You can write a string literal that contains the hexadecimal escape sequence \xF
followed by the digit 3 by writing two string literals:
"\xF" "3" which becomes the array
{0xF, '3', 0}
Trigraphs
A trigraph is a sequence of three characters that begins with two question marks (??). You use
trigraphs to write C source files with a character set that does not contain convenient graphic
representations for some punctuation characters. (The resultant C source file is not necessarily
more readable, but it is unambiguous.)
The list of all defined trigraphs is:
Character Trigraph
[ ??(
\ ??/
] ??)
^ ??'
{ ??<
| ??!
} ??>
~ ??-
# ??=
These are the only trigraphs. The translator does not alter any other sequence that begins with
two question marks.
For example, the expression statements:
printf("Case ??=3 is done??/n");
printf("You said what????/n");
are equivalent to:
printf("Case #3 is done\n");
printf("You said what??\n");
The translator replaces each trigraph with its equivalent single character representation in an
early phase of translation. You can always treat a trigraph as a single source character.