開啟章節選單
跳脫字元
極為常見什麼是跳脫字元
跳脫字元顧名思義就是會跳脫
在前面的章節大家應該常常看到換行字元 \n
,有沒有想過為什麼其他字元都是一個字,為什麼換行字元是兩個字、還有一個看起來像斜線又不像斜線的東西?其實那個斜線叫做「反斜線」,覺得很難跟真的斜線辨別的話,就想想你平常寫日期的時候都是寫 1/1,所以另外一個方向的斜線是反斜線!而在程式中,我們常在使用跳脫字元時使用它。
那究竟跳脫字元是拿來做什麼的?講白一點,就是用來輸出「特殊的字元」,好比說如果你今天要輸出一些奇怪的顏文字例如 “o"
或 \^o^/
,你可能會這樣打:
cout << ""o"";
你會很驚喜的發現你直接過不了編譯了!這是因為雙引號在字串中有特殊的功能,那就是包住字串,所以這邊程式不會把它當作要輸出的東西。但我就是想輸出它怎麼辦?很簡單,只要在顏文字的雙引號前面加一個反斜線就好了:
cout << "\"o\"";
而另外一個例子也相同,因為反斜線本身也有特殊意義,所以如果要輸出反斜線本人也要特殊處理(但正常斜線不用):
cout << "\\^o^/";
更多的跳脫字元
除了上面提到的 \n
之外,還有很多跳脫字元可以使用,這邊列出一些常見的:
\t
:我們打 code 時常見的tab
(大約是 4 個空白)\\
:反斜線\"
:雙引號\'
:單引號\0
:空字元(不等於空白)\r
:回到該行開頭(後續輸出內容會覆蓋原本該行內容)
而 tab
這個跳脫字元有個特別的用法,就是可以用來對齊字串,例如:
cout << "1\t2\t3" << endl; cout << "112\t222\t3123123" << endl; cout << "123123112\t22\t3123" << endl;
你會發現輸出的結果是這樣的,它竟然神奇的對齊起來了:
1 2 3
112 222 3123123
1233112 22 3123
小測驗
\t
這個跳脫字元代表什麼?