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