'\'为什么这个不是合法常量??

发布网友 发布时间:2022-04-25 20:38

我来回答

3个回答

热心网友 时间:2022-06-17 05:33

'\'不是合法常量,是编译器规定的,至于为什么有这样的规定,因为要表示一些特殊的字符,比如回车,换行等,而键盘上没有这样的符号,所以统一用'\'加一个字符表示(又叫转义字符),比如'\n'表示换行,'\t'表示制表符等,所以'\'被编译器视为一个转义字符的一部分,而不能当做一个字符,若要表示反斜杠的话用'\\'。

热心网友 时间:2022-06-17 05:34

1、'\\' 是合法字符 表示 \
2、"\\" 是合法字符串 表示 \
区别就是:一个是字符,一个是字符串
转义字符:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL),什么都不做
注:
1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
2,\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。
3,\t 光标向前移动四格或八格,可以在编译器里设置
4,\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。
5,\? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。

热心网友 时间:2022-06-17 05:34

转义没错,都代表一个反斜杠符号,区别在于”包装“,“单引号包“代表单个字符,”双引号包“代表该字符属于一个字符数组的一个元素,只是这个数组只有一个元素。

字符数组就是字符串,要用到指针。

char c='\\';//单个字符
char *p="\\";//字符数组,将字符数组的地址赋值给指针

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com