Uwaga na trigrafy

Manna5

Pisząc programy w języku C, możesz nie zdawać sobie sprawy z istnienia tzw. trigrafów. Jako że nie wszystkie znaki mające w C kluczowe znaczenie są dostępne w każdym zestawie znaków, wprowadzono specjalne zamienniki, czyli właśnie trigrafy. Zaczynają się zawsze dwoma pytajnikami, a ich tabela znajduje się poniżej:

TrigraphEquivalent
??=#
??/\
??'^
??([
??)]
??!|
??<{
??>}
??-~
Omyłkowe wpisanie trigrafu (głównie w literałach tekstowych) może narazić nas na dziwaczne błędy. Na przykład:
puts ("Really??!");

Może (jeśli kompilator obsługuje trigrafy, co wszak nie jest pewne) spowodować wydruk:

Really|

Zapobiec takim sytuacjom można escapując drugi znak zapytania:

puts ("Really?\?!");

0 komentarzy