C语言中单独一个 \ 是合法转义字符么?不是的话解释下...

如题所述

单独一个 \ 不是合法转义字符
转义字符 就是指 反斜杠后面的字符,不按原意 解释,而要按 “转义” 解释。
转义字符 来源于英文 "escape sequence" , sequence 就是指后面的那个字符。

唯一 一个 单独一个 \ (除了注解行)是 合法 字符的情况,印象中只有:
C语言中有时程序 1行 写不完,但语法上 要求写 成 1行,例如 复杂的 #define 有时要写很多行。这时,可以用 \ , 看上去 是单独一个 \,后面连 空白 都没有,它可以标示 “下行是续行,它们应当放在同一行看待”。

下面意思一下。原应写: #define A 12345
用续行的方式写:
#define A \
12345
printf("%d", A); // 打印出 12345
(注意,\ 前面 可以有空格,\后面不允许 哦)。

C语言中,不是所有字符都有 转义,没有转义 的 加了 \ 算错。必须转义 的必须 加 \.
例如 \\ 两个 反斜杠 表示 1 个 反斜杠。
"C:\\user\\prog\\abc.txt" 表示 字符串 C:\user\prog\abc.txt
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-11
个人认为\不是一个合法转义字符(编译器也这么认为)。当代码中出现 ”\“ 的时候,就代表程序员要告诉编译器:“注意了哦,后面有个东西的意思不是它的本意哦 ,你去找找这个东西的另外一个意思。”如果说" \ "的后面有东西,那么编译器就去找这个东西本身代表的另外一个意思,如果没有找到,那么编译器就会报错,并告诉程序员说:”这个东西没有其他意思啊,要不你检查检查!“。如果”\“的后面啥也没有,编译器问了,你这是几个意思??你要我找什么?? 当然,计算机太笨,它并不会反问。有歧义即有错误!这个还有什么好说的。
第2个回答  2013-02-11
我认为单独一个\不是合法的转义字符,\单独存在时没有意义的,语法上就会报错
必须在后面跟有其他字符才会有意义
第3个回答  2013-02-11
单个\也是转义字符,它会强制把其后的字符进行转义。
第4个回答  2013-02-11
\ 后面不跟东西(在文件结尾)的话都不是标准C代码……否则的话, \ 后面必然要跟东西,如果程序员并不认为 \ 后面的东西是要被转义的字符的话,就会出现各种错误……