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

码林星云
• 阅读 2143

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中表示字符b
    printf("%s\n", p);    

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

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Json特殊字符处理
JSon数据中的String传递数据时,需要处理好特殊字符.JSon数据中有特殊字符:1:引号,如果是使用单引号,来括值的话,那String中 ' 单引号为特殊字符2:正斜杠,反斜杠,换行符号等。另外,必须用(")而非(')表示字符串:/JSON字符串特殊字符处理,比如
Stella981 Stella981
3年前
Ruby 里的 %Q, %q, %W, %w, %x, %r, %s, %i (译)
%Q用于替代双引号的字符串.当你需要在字符串里放入很多引号时候,可以直接用下面方法而不需要在引号前逐个添加反斜杠(\\") %Q(Joe said: "Frank said: "{what_frank_said}"") "Joe said: "Frank said: "Hello!"""(...)
Wesley13 Wesley13
3年前
Java斜杠与反斜杠
直接通过正则表达式进行替换即可(备注:反斜杠为"",正斜杠为"/"),代码如下:publicclassTest{publicstaticvoidmain(String\\args){Stringpath"D:\\FTP\\admin\\bird.gif";//文件路径,双斜杠输出的是一个斜杠System.out.print
Stella981 Stella981
3年前
Python bytes 反斜杠转义问题解决方法
一、问题因为前文(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwonzwang.blog.csdn.net%2Farticle%2Fdetails%2F111600846)提到工作中需要使用Go调Python脚本执行加解密,但是Go那边执行命令行输出的是s
Wesley13 Wesley13
3年前
C语言进阶—— 接续符和转义符13
接续符的意义:C语言中的接续符(\\)是指示编译器行为的利器我们来看一个案例:1in\2clud\3e<st\4dio.h56in\7tm\8ain(\9)10{11pr
Stella981 Stella981
3年前
Python中的斜杠
关于正斜杠和反斜杠在整体环境下,正斜杠反斜杠主要用在地址表达上.在UNIX和Linux中,地址索引都是使用正斜杠/来表达,包括url地址资源等,都是使用正斜杠来表达在Windows中,地址的表达,盘符等,表达的方式则是使用\\反斜杠来表示(也可以使用双正斜杠//来表示windows中的地址)Py
Stella981 Stella981
3年前
PEP8 Python 编码规范
PEP8Python编码规范一代码编排1缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。2每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。3类和toplevel函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其
Stella981 Stella981
3年前
Code128条形码
如何看懂Code128条形码1.条形码种类很多,常见的大概有二十多种码制,其中包括:Code39码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵25码)、UPCA码、UPCE码、EAN13码(EAN13国际商品条码)、EAN8码(EAN8国际商品
Stella981 Stella981
3年前
Python运算符 Python从入门到放弃
\和   赋值,判断是否相等。  If(c1)写成if(c1)会直接报错,Python中if条件中不允许赋值。(C语言中允许)号数字之间是计算和,字符串之间是拼接的意思如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
Wesley13 Wesley13
3年前
HTML特殊字符大全
使用方法:这些字符属于unicode字符集,所以,你的文档需要声明为UTF8;下面符号列表的后面有两列编号,它们并不太一样,第一列是用于HTML的,你需要在前面加上&符号;第二列可以用于CSS文件中,但是需要用反斜杠\\转义;第二列也可以用于JavaScrip
Stella981 Stella981
3年前
Linux下通过设置PS1变量改变bash提示符颜色
我们可以通过设置PS1变量来改变bash的提示符内容,如下:!(http://static.oschina.net/uploads/space/2014/1007/210029_BFfh_1424781.png)改变了PS1变量的内容后,bash提示符跟着变化了。PS1变量也可以使用反斜杠”\\“来显示类似变量的内容,知道反斜杠转义的应该都不
码林星云
码林星云
Lv1
不必恭维不必讨好爱你的人自会给你拥抱
文章
4
粉丝
0
获赞
0