C語言中鮮為人知的 “三字母詞” 到底是啥?
它就是我們標(biāo)題中的“三字母詞”。“三字母詞”來源于ANSI C中,它還有一個名字“三聯(lián)符序列”。說這個之前,我們大家肯定對C語言中的轉(zhuǎn)義序列比較了解了,比如用\n代替回車,用\r代替換行,用\\插入\ 等等。
其實“三字母詞”跟這個意思差不多,在以前的老式鍵盤中,類似“? [ ] { } ^| ? "等符號是沒有的,當(dāng)時為了解決這個問題,C語言中出現(xiàn)了所謂的“三字母詞”,也就是在代碼編譯階段用三個字符代替這些沒有的符號,一共有9個,如下表所示:
? ? ? ? ? ? ? ??= | ? ? ? ? ? ? ? # |
? ? ? ? ? ? ? ??( | ? ? ? ? ? ? ?? [ |
? ? ? ? ? ? ? ??) | ? ? ? ? ? ? ?? ] |
? ? ? ? ? ? ? ??< | ? ? ? ? ? ? ? { |
? ? ? ? ? ? ? ??> | ? ? ? ? ? ? ?? } |
? ? ? ? ? ? ? ??/ | ? ? ? ? ? ? ?? / |
? ? ? ? ? ? ? ??! | ? ? ? ? ? ? ? | |
? ? ? ? ? ? ? ??' | ? ? ? ? ? ? ?? ^ |
? ? ? ? ? ?? ??- | ? ? ? ? ? ? ?? ~ |
舉個例子:
printf("?Do?you kown (or??):");
等價于:Do?you?kown?(or]:?而不是?Do?you?kown?(or??):?
當(dāng)然啦,三字母詞是ANSI C定義的,不過現(xiàn)在很多編譯器都不需要這個轉(zhuǎn)義功能了,因為現(xiàn)在的鍵盤可以直接敲出這些字符,所以說你把它當(dāng)成C語言的一個知識點去了解就行了。好了,就寫到這里吧,你學(xué)會了嗎?
版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認(rèn),我們都會標(biāo)明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!