Bộ ký tự ISO-646 không có tất cả các ký tự của cú pháp C, do đó có một số hệ thống với bàn phím và màn hình không thể xử lý một số ký tự. Các ký tự này có thể được xây dựng bằng một chuỗi 3 ký tự gọi là trigraphs. Trong C, trước khi bất kỳ xử lý nào khác diễn ra, mỗi lần xuất hiện của một trong các chuỗi ba ký tự sau ("trigraph sequences") sẽ được thay thế bằng ký tự đơn tương ứng.
| Trigraph | Thay thế | Trigraph | Thay thế | Trigraph | Thay thế |
|---|---|---|---|---|---|
| ??= | # | ??( | [ | ??< | { |
| ??/ | \ | ??) | ] | ??> | } |
| ??' | ^ | ??! | | | ??- | ~ |
Chúng tồn tại chủ yếu vì lý do lịch sử. Ngày nay, hầu hết bàn phím hiện đại cho hầu hết ngôn ngữ đều cho phép truy cập tất cả các ký tự đó, nhưng xưa kia đây từng là vấn đề với một số bàn phím châu Âu. Đó là lý do trigraphs được phát minh.