c語言中有些過時的元素,由于它們仍存在于規範中,是以我們仍然要保證其相容性(如八進制)。并不是所有的鍵盤都含有c語言的特殊字元,例如,如果你的鍵盤看起來像
圖2-7中的那樣,就無法輸入~。解決方法就是使用“三字母詞”(tri-graph sequences),也就是三個字母連在一起,會被替換成相應的單字元(和預編譯一樣,替換發生在任何其他處理之前)。表2-2列出了所有的三字母詞。這些詞都是以兩個問号開頭,後面再跟着一個字元。如果代碼中出現了兩個連着的問号(即使是在字元串中),你可能需要将其作為“三字母詞”來對待。下列兩行代碼,一行使用了三字母詞,一行沒有使用:

對于鍵盤上沒有的特殊字元,編譯器可以接受三字母詞來替代這些特殊字元,表2-2列出了所有的三字母詞。