Содержание

Триграфы

Ниже приводится список триграфов. В исходном файле на C все вхождения триграфов (включая стринги в кавычках и символьные константы), перечисленных ниже, заменяются на соответствующий одиночный символ.

Символ Триграф
[ ??(
] ??)
{ ??<
} ??>
| ??!
# ??=
\ ??/
^ ??'
~ ??-

Других триграфов нет. Любой знак вопроса (?), который не относится к какому-либо триграфу, не заменяется.

Для получения последовательности символов, которая не должна быть триграфом, помещайте \ перед вторым знаком вопроса. Это разобьёт триграф, и он таковым считаться не будет. Позже, при трансляции, последовательность \? заменится на ?. Например, ?\?= станет ??=.