转义序列'\'的用途是什么?

时间:2018-07-16 01:16:18

标签: c

在下面的代码片段中,“ \”的行为如何?

printf("hii\"); // This line gives error :  missing terminating " character

printf("hii\  n"); // This line prints hii n 

我无法在此处了解此转义序列的行为,请解释。

1 个答案:

答案 0 :(得分:2)

escape sequence不是单个\字符;是后面跟着另一个字符。例如,\"\n都是转义序列。在某些情况下,您可以在反斜杠后面看到多个字符,就像相同的转义代码一样。这与字符在内部的表示方式(ASCII或Unicode值)有关,目前可以安全地忽略。

转义序列用于编写不方便/不可能直接输入代码的字符。例如,\"是引号的转义序列。这就像在字符串中加上引号一样,否则您将无法执行此操作,因为它会关闭字符串文字。查看您问题的语法高亮部分,以了解我的意思;第一行的大部分被视为字符串的一部分,因为您永远不会有未转义的结束引号。

最常见的转义序列可能是\n。与\"不同的是,它不仅会在字符串中产生文字n;你可以做到这一点而没有逃脱。而是生成换行符。代码

printf("hii\nthere");

打印

hii
there

到屏幕上。

问题的第二行代码使用转义序列\(反斜杠空间)。这不是标准的转义序列;如果您使用警告进行编译,则您的编译器可能会报告它正在忽略它或其他内容。

(如果您想在屏幕上实际打印反斜杠,则需要使用\\来转义反斜杠)