Summary
1)编译器会 将反斜杠 '\' 剔除
,跟在 反斜杠前面的字符主动接续到前一行
2)在接续单词时,反斜杠 ’\’ 之后 不能有空格
,反斜杠 ’\’ 的下一行之前也不能有空格
3)接续符 '\'
适宜用于 定义宏代码块
,进步可读性
4)C 语言中的 本义符 '\'
次要用于 示意无回显字符
(不会在屏幕上显示的),也能够用于 示意惯例字符
。
5)当反斜杠'\' 作为本义符应用时,必须呈现在单引号或者双引号之间
\n | 回车换行 |
\t | 横向跳到下一制表地位 |
\ | 反斜杠符 ’\’ |
\’ | 单引号符 |
\ddd | 1~3 位八进制数所代表的字符 |
\xdd | 1~2 位十六进制数所代表的字符 |
\a | 响铃 |
\v | 竖向跳格 |
\b | 退格 |
\r | 回车 |
\f | 走纸换页 |
接续符和本义符
1、接续符 ’\’
上面代码正确么?
#incl\
ud\
e <s\
tdio\
.h>
in\
t main(\)
{
printf(\
"Hello World.\n"
)\
;
ret\
urn 0;
}
-
编译器会将反斜杠 ’\’ 剔除,跟在反斜杠前面的字符主动接续到前一行
// 将反斜杠 '\' 剔除,前面的字符主动接续到前一行的代码如下 #include <stdio.h> int main() {printf( "Hello World.\n") ; return 0; }
-
在接续单词时,反斜杠 ’\’ 之后不能有空格,反斜杠的下一行之前也不能有空格
// 如果格局像上面这样,urn 后面有 4 个空格,这时候编译就不过了,因为失去的语句是 // ret urn 0; ret\ urn 0;
-
接续符 ’\n’ 适宜在定义宏代码块时应用
// 用宏代码块实现的替换变量语句 #define SWAP(a, b) \ { \ int temp = a; \ a = b; \ b = temp; \ }
2、本义符 ’\’
- C 语言中的
本义符 '\'
次要用于示意无回显字符
(不会在屏幕上显示的),也能够用于示意惯例字符
。 -
\n 回车换行 \t 横向跳到下一制表地位 \ 反斜杠符 ’\’ \’ 单引号符 \ddd 1~3 位八进制数所代表的字符 \xdd 1~2 位十六进制数所代表的字符 \a 响铃 \v 竖向跳格 \b 退格 \r 回车 f 走纸换页 -
当反斜杠
'\' 作为本义符应用时,必须呈现在单引号或者双引号之间
char* p = "\141 \t \'\a \x62 "; // \141: 八进制 141 对应十进制 97,Ascii 中示意字符 a // \t: 制表符 // \': 单引号' // \a: 响铃一次 // \x62: 十六进制 62 对应于十进制 98,Ascii 中示意字符 b printf("%s\n", p);
本文总结自“狄泰软件学院”唐佐林老师《C 语言进阶课程》。
如有错漏之处,恳请斧正。