C之接续符和转义符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C之接续符和转义符相关的知识,希望对你有一定的参考价值。

        我们今天来介绍下 C 语言中比较少见的两种符号,接续符和转义符。其实也不少见啦,只是我们平时不太注意罢了,下来我们就介绍下这两种。

        我们首先来介绍下接续符(\)。那么接续符到底是什么呢?它是C 语言中指示编译器行为的利器。我们如何来使用接续符呢?编译器会将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行;在接续单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格;接续符适合在定义宏代码块时使用。

        我们下来用宏代码来实现一个交换数值功能的代码,这个题同样是笔试中常见的题型之一。代码如下:

#include <stdio.h>

#define SWAP(a, b)      {                           int temp = a;           a = b;                  b = temp;           }

int main()
{
    int x = 1;
    int y = 2;
    int z = 3;
    
    SWAP(x, y);
    
    printf("x = %d, y = %d\n", x, y);
    
    SWAP(y, z);
    
    printf("y = %d, z = %d\n", y, z);
    
    return 0;
}

        编译运行后结果如下:

技术分享图片

        那么我们可以看到已经实现了交换的功能,并且宏代码看起来一目了然。这就是接续符的妙用了,如果我们用的好的话,那么我们的代码的可读性会大大增强。

        下来我们来介绍下转义符,转义符的符号恰好和接续符一样,也是(\)。那么 C 语言中的转义符主要用于表示无回显字符,也可用于表示常规字符当反斜杠(\)作为转义符使用时必须出现在单引号或者双引号之间。下表是一些常见的转义符表示

技术分享图片

        我们来分析个示例代码,以此来理解转义符。代码如下:

#include <stdio.h>

int main()
{
    char enter = '\n';
    
    char* p = "\141\t\x62";
    
    printf("%s", p);
    printf("%c", enter);
    
    return 0;
}

        那么我们来分析下上面的代码,我们定义了 enter 为换行符。指针 p 指向的是什么字符串呢? \141 代表八进制的数,转换为10进制后为97,97代表的字母为a。\t代表一个 tab 键。 \x62 代表十六进制的数,转换成10进制后为98,98代表的字母为b。那么这一句就代表的意思为 a    b;我们来看看打印结果是否如我们分析的那样

技术分享图片

        那么我们看到打印的结果正如我们分析的那样。关于接续符和转义符我们就学习到这了,总结如下:反斜杠(\)作为同时具有接续符和转义符的作用,作为接续符使用时可直接出现在程序中,作为转义符使用时需出现在单引号或双引号之间后面我们会继续对 C 语言的学习。


         欢迎大家一起来学习 C 语言,可以加我QQ:243343083

以上是关于C之接续符和转义符的主要内容,如果未能解决你的问题,请参考以下文章

java转义符和正则表达式转义符

常量与转义符和运算符

常量与转义符和运算符

C语言重点难点精讲C语言中的重要符号

Java字符代码中干掉制表符回车符和换行符

C语言笔记