c 語言裏面字符用單引號括起來,並且單引號裏面只能有一個字符,
例如 : 'a' 、 'b' 分別表示字符a 和字符b
但是也有一類字符,它們雖然用單引號括起來,但是裏面並不止一個字符,
例如: '\c'、 '\d'、 '\\' 分別表示字符a、 字符b、 字符\
它們叫做轉義字符,表示 “\” 後面的字符,在vs裏面可以看到:
'c' 和'd' 前面的99 和 100 表示 'c' 和'd' 的ascii碼 ;
但是也有一些轉義字符雖然形式和上面一些轉義字符很像,但是它們不再表示"\" 後面的字符,而是有別的含義:
例如:
\a
|
響鈴(BEL)
|
007
|
\b
|
退格(BS) ,將當前位置移到前一列
|
008
|
\f
|
換頁(FF),將當前位置移到下頁開頭
|
012
|
\n
|
換行(LF) ,將當前位置移到下一行開頭
|
010
|
\r
|
回車(CR) ,將當前位置移到本行開頭
|
013
|
\t
|
水平製表(HT) (跳到下一個TAB位置)
|
009
|
\v
|
垂直製表(VT)
|
011
|
\\
|
代表一個反斜線字符''\'
|
092
|
\'
|
代表一個單引號(撇號)字符
|
039
|
\"
|
代表一個雙引號字符
|
034
|
\0
|
空字符(NULL)
|
000
|
\ddd
|
1到3位八進制數所代表的任意字符
|
三位八進制
|
\xhh
|
1到2位十六進制所代表的任意字符
|
二位十六進制
|
在vs中可以看到:
'\a' 的值是7,爲 不可打印字符 ’.‘ ,執行時會聽到一聲響鈴, '\t'是製表符向後偏移4個空格,結果如下:
在第二種轉義字符裏面,要單獨講一下 '\r' 和 '\n':
'\r' 表示回車, '\n'表示換行 (回車和換行不是一個概念)
在打印的時候:
回車表示從當前行的行尾轉到當前行的行首;
換行表示從當前轉到下一行(如果是單獨的換行,不一定轉到下一行的行首)
Windows系統裏面,每行結尾是“<回車><換行>”,即“ \r\n”;
Unix 系統裏,每行結尾只有“<換行>”,即“\n”;
Mac系統裏,每行結尾是“<回車>”, 即“\r”;
所以在不同的平臺下打開同一個文件,可能會出現亂碼的情況。