I don’t know for sure, but you will most likely find digraphs and trigraphs used in IBM mainframe environments. The EBCDIC does not contain some of the characters that are required for C.
Another excuse for digraphs and trigraphs, 7-bit ASCII-ish character sets that replace some punctuation characters with accented letters, is probably less relevant today.
Outside of such environments, I suspect that trigraphs are more often used by mistake than intentionally, as in:
puts("What happened??!");
For reference, trigraphs were introduced in the 1989 ANSI C standard (which essentially became the ISO ISO 1990 standard). It:
??=
Substitutions occur anywhere in the source code, including comments and string literals.
Digraphs are alternative spellings of certain tokens and do not affect comments or literals:
<: [ :> ] <% { %> } %: # %:%: ##
The diffractors were amended in 1995 to the 1990 ISO C standard.
Keith Thompson Sep 16 2018-11-11T00: 00Z
source share