Ниже приводится список триграфов. В исходном файле на C все вхождения триграфов (включая стринги в кавычках и символьные константы), перечисленных ниже, заменяются на соответствующий одиночный символ.
Символ | Триграф |
---|---|
[ | ??( |
] | ??) |
{ | ??< |
} | ??> |
| | ??! |
# | ??= |
\ | ??/ |
^ | ??' |
~ | ??- |
Других триграфов нет. Любой знак вопроса (?
), который не
относится к какому-либо триграфу, не заменяется.
Для получения последовательности символов, которая не должна быть триграфом,
помещайте \
перед вторым знаком вопроса. Это разобьёт триграф, и
он таковым считаться не будет. Позже, при трансляции, последовательность
\?
заменится на ?
. Например, ?\?=
станет ??=
.