我们今天来介绍下 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。
原文地址:http://blog.51cto.com/12810168/2095835