【C进阶】13、接续符和转义符

Summary 1)编译器会将反斜杠'\'剔除,跟在反斜杠后面的字符自动接续到前一行
2)在接续单词时,反斜杠'\'之后不能有空格,反斜杠'\'的下一行之前也不能有空格
3)接续符'\'适合用于定义宏代码块,提高可读性
4)C语言中的转义符'\'主要用于表示无回显字符(不会在屏幕上显示的),也可以用于表示常规字符
5)当反斜杠'\'作为转义符使用时,必须出现在单引号或者双引号之间

\n 回车换行
\t 横向跳到下一制表位置
\ 反斜杠符'\'
\' 单引号符
\ddd 1~3位八进制数所代表的字符
\xdd 1~2位十六进制数所代表的字符
\a 响铃
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
接续符和转义符 1、接续符'\' 下面代码正确么?
#incl\ ud\ e in\ t main(\ ) { printf(\ "Hello World.\n" )\ ; ret\ urn 0; }

  • 编译器会将反斜杠'\'剔除,跟在反斜杠后面的字符自动接续到前一行
    // 将反斜杠'\'剔除,后面的字符自动接续到前一行的代码如下 #include int main() { printf("Hello World.\n" ); return 0; }

  • 在接续单词时,反斜杠'\'之后不能有空格,反斜杠的下一行之前也不能有空格
    // 如果格式像下面这样,urn前面有4个空格,这时候编译就不过了,因为得到的语句是 // return 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 走纸换页
  • 【【C进阶】13、接续符和转义符】当反斜杠'\'作为转义符使用时,必须出现在单引号或者双引号之间
    char* p = "\141 \t \'\a \x62"; // \141: 八进制141对应十进制97,Ascii中表示字符a // \t: 制表符 // \': 单引号' // \a: 响铃一次 // \x62: 十六进制62对应于十进制98,Ascii中表示字符b printf("%s\n", p);

本文总结自“狄泰软件学院”唐佐林老师《C语言进阶课程》。
如有错漏之处,恳请指正。

    推荐阅读