c语言-转义序列
字符组合是由反斜杠 (\) 后接字母或位组合构成的字符组合。若要显示换行符,单引号或某些其他字符在字符串末尾,必须使用转义序列。 转义序列被视为单个字符,因此,它是有效的字符常数。
转义序列通常用于指定动作,例如在终端和打印机的回车和选项卡移动。 它们还用来提供非打印字符的文本表现形式和通常具有特殊意义的字符,如双引号 (")。 下表列出了 ANSI 转义序列以及它们所表示的内容。
请注意反斜杠(\?)前面的问号指定文本问号,在字符序列将被错误解释为三字符组的情况下。 有关更多信息,请参见三角符组。
转义序列 |
表示 |
---|---|
\a |
提醒/(警报) |
\b |
Backspace |
\f |
换页 |
\n |
换行 |
\r |
回车 |
\t |
水平制表符 |
\v |
垂直制表符 |
\' |
单引号 |
\ " |
双引号 |
\\ |
反斜杠 |
\? |
文本问号 |
\ ooo |
八进制表示法的 ASCII 字符 |
\x hh |
十六进制表示法的 ASCII 字符 |
\x hhhh |
以十六进制表示法,则此转义序列用于常量宽字符或 Unicode 字符串的 Unicode 字符。 例如,WCHAR f = L'\x4e00' 或 WCHAR b[] = L"The Chinese character for one is \x4e00"。 |
Microsoft 专用
如果反斜杠在表中未显示的字符前面,该编译器根据字符本身来处理未定义字符。 例如, \c 被视为 c。
结束 Microsoft 专用
转义序列可以发送 nongraphic 控制字符到显示设备。 例如,ESC 字符 (\033) 通常用作终端或打印机的命令控件的第一个字符。 一些转义序列特定于设备。 例如,垂直选项卡和换页符转义序列(\v 和 \f)不会影响屏幕输出,但它们会执行适当的打印机操作。
还可以将反斜杠(\)用作继续符。 当换行符(等效于按 RETURN 键)后立即反斜杠,该编译器忽略反斜杠和换行符并将下一行作为前一行的一部分。 这主要对长于单行的预处理器定义有用。 例如:
#define assert(exp) \ ( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )