C语言转义字符

斜杠\后面加上1个2个3个4个数字分别表示什么啊?什么时候表示八进制 什么时候表示十六进制...在这个地方不明白 比如\141是八进制那么\007为什么又是十进制了

\后加数字肯定是8进制
\007也是8进制,只是因为他的值是7,所以跟10进制的值一样,让你以为他是10进制

''\2444"
这是四个字符了,在不考虑'\0'的情况下,分解成:
'\24' '4' '4'
原因很简单,char 如果是signed char的话,最大值不能超过 127
所以,不会存在 '\244'这个转义字符,只能分开,

如果要用\后面加个x则是表示16进制

比如 '\x2' '\x24' 这种,就是16进制,凡是\后不加x直接跟数字的都是8进制,但他的值必须小于128,这就是拆分原则。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-10
所谓转义字符就是'\xxx'
以 \0 开头的是8进制 例如 ‘\011’
以\x 开头的是16进制数 例如‘\x160’
以\+(1-9) 开头的就是十进制数 例如‘\114’
第2个回答  2014-01-10
c语言中\*(任意字符)
\***(*为三个数字,表示八进制)
\x**(*为数字,整体表示十六进制)
这些都算一个字符,转义字符追问

那\007代表的是一个八进制?

追答

嗯,你可以看看这个,你就明白了
\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 任意字符 二位十六进制

相似回答