Summary

1)编译器会将反斜杠'\'剔除,跟在反斜杠前面的字符主动接续到前一行

2)在接续单词时,反斜杠'\'之后不能有空格,反斜杠'\'的下一行之前也不能有空格

3)接续符'\'适宜用于定义宏代码块,进步可读性

4)C语言中的本义符'\'次要用于示意无回显字符(不会在屏幕上显示的),也能够用于示意惯例字符

5)当反斜杠'\'作为本义符应用时,必须呈现在单引号或者双引号之间

\n回车换行
\t横向跳到下一制表地位
\反斜杠符'\'
\'单引号符
\ddd1~3位八进制数所代表的字符
\xdd1~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横向跳到下一制表地位
    \反斜杠符'\'
    \'单引号符
    \ddd1~3位八进制数所代表的字符
    \xdd1~2位十六进制数所代表的字符
    \a响铃
    \v竖向跳格
    \b退格
    \r回车
    f走纸换页
  • 当反斜杠'\'作为本义符应用时,必须呈现在单引号或者双引号之间

    char* p = "\141 \t \'\a \x62  ";      // \141: 八进制141对应十进制97,Ascii中示意字符a  // \t: 制表符  // \': 单引号'  // \a: 响铃一次  // \x62: 十六进制62对应于十进制98,Ascii中示意字符bprintf("%s\n", p);    

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