码迷,mamicode.com
首页 > 其他好文 > 详细

C之接续符和转义符(十二)

时间:2018-04-09 00:21:29      阅读:181      评论:0      收藏:0      [点我收藏+]

标签: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之接续符和转义符(十二)

标签:C语言   转义符   接续符   

原文地址:http://blog.51cto.com/12810168/2095835

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!