共用方式為


三併詞

來源字元集 C 原始程式內含在 7 位元的 ASCII 字元集中,但是它是 ISO 646-1983 Invariant Code Set 的超集。 三併詞序列允許 C 程式只使用 ISO (國際標準組織) Invariant Code Set 撰寫。 三併詞是三個字元的序列 (由兩個連續的問號引入),編譯器會以其對應的標點符號字元取代該序列。 如果 C 原始程式檔所用的字元集不含某些標點符號字元的方便圖形表示,您可改為使用三併詞。

下表顯示九個三併詞序列。 在標點符號字元的原始程式檔中,所有出現在第一行的字元會以第二行中對應的字元取代。

三併詞序列

三併詞

標點符號字元

??=

#

??(

[

??/

\

??)

]

??'

^

??<

{

??!

|

??>

}

??-

~

三併詞永遠視為單一來源字元。 三併詞的轉譯會發生在第一個轉譯階段,接著再辦識字串常值和字元常數中的逸出字元。 其中只會辨認上述表格中顯示的九個三併詞。 其他字元序列會保留為未轉換狀態。

字元逸出序列 \? 可避免錯誤解譯類似三併詞的字元序列。(如需逸出序列的詳細資訊,請參閱逸出序列)。例如,如果您嘗試使用這個 printf 陳述式列印字串 What??!

printf( "What??!\n" );

印出字串會是 What|,因為 ??! 是使用|字元取代的三併詞序列。 依如下的陳述式撰寫,以正確列印字串:

printf( "What?\?!\n" );

在這個 printf 陳述式中,第二個問號前面的反斜線逸出字元會使 ??! 不會誤譯為三併詞。

請參閱

參考

C 識別項