轉(zhuǎn)義字符入門(mén)
轉(zhuǎn)義字符,顧名思議就是轉(zhuǎn)換字符的意義;一個(gè)轉(zhuǎn)義字符在書(shū)寫(xiě)上是兩個(gè)或多個(gè)字符,但只表示一個(gè)含義。'\n'就是一個(gè)轉(zhuǎn)義字符,當(dāng)printf函數(shù)碰到它時(shí),并沒(méi)有直接輸出字符'\'與'n',而是將它們看作一個(gè)換行標(biāo)記,以使后續(xù)的輸出打印在新的一行。C語(yǔ)言還包括以下幾個(gè)常用的轉(zhuǎn)義字符:
\t 橫向制表符
\\?反斜杠
\"?雙引號(hào)
使用制表符格式化輸出
橫向制表符 \t 可以用于格式化文本輸出,假如我們要輸出一組表格樣式的數(shù)據(jù),一種方法是使用輸出多個(gè)空格對(duì)齊,另一種方法就是使用'\t'。在下面的程序中,我們?yōu)楸砀竦牡?列與第2列應(yīng)用兩次'\t'以使列之間有更多的間距。
有一點(diǎn)要說(shuō)明,'\t'的后間距與前導(dǎo)字符串長(zhǎng)度有密切關(guān)系,這也使得真正的格式化控制可能會(huì)比較困難,在下面的例子中,為了使內(nèi)容對(duì)齊,在列與列之間使用的'\t'次數(shù)并不一樣。實(shí)際上,使用空格或高級(jí)的格式化控制符會(huì)更加容易一些;但對(duì)于一些比較規(guī)則的數(shù)據(jù),如第一個(gè)例子所示,'\t'相比輸入較多空格更加好用。

使用反斜杠輸出文件路徑
考慮一些使用文件路徑的場(chǎng)景,當(dāng)我們需要在程序的運(yùn)行日志、調(diào)試時(shí)的輸出窗口、甚至簡(jiǎn)單的將一個(gè)路徑輸出到控制臺(tái),這時(shí)我們需要使用反斜杠轉(zhuǎn)義符來(lái)進(jìn)行正確的輸出操作。

如果我將路徑中的'\\' 換成'\' 會(huì)出現(xiàn)什么問(wèn)題?
你可能會(huì)得到一些編譯錯(cuò)誤!
在字符串輸出過(guò)程中,當(dāng)遇到'\'時(shí),相當(dāng)于告訴程序:我后面將跟隨一個(gè)或多個(gè)字符,請(qǐng)把它解釋為其它的含義。比如說(shuō)遇到'n'時(shí)請(qǐng)換行?,F(xiàn)在在第一個(gè)'\'字符的后遇到了字符'w',組合后形成了'\w',對(duì)C語(yǔ)言而言,這不是一個(gè)有效的轉(zhuǎn)義字符,因此編譯器會(huì)提示你發(fā)生了錯(cuò)誤。

輸出雙引號(hào)自身
當(dāng)希望在printf中輸出雙引號(hào)自身,或?qū)⑤敵龅奈谋居秒p引號(hào)包含起來(lái),以表達(dá)特定的意義時(shí),就需要轉(zhuǎn)義 \" 以輸出字符'"'。
程序運(yùn)行結(jié)果如下:

習(xí)題
根據(jù)第2個(gè)示例,探索'\t'與前導(dǎo)或后導(dǎo)字符串之間的間距關(guān)系。
編寫(xiě)程序輸出一大段引用的文本。