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:
Trigraph | Equivalent |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
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?\?!");