c语言中这个转义字符为什么不合法

如题所述

第1个回答  2014-12-18
1011是八进制的,转成10进制就是521,asc的有效范围是0~127,所以没有asc可以表示521,所以不是转义字符。追问

怎么不是二进制数啊

追答

\+数字:把这个数字按照8进制转化成十进制,代表其对应的asc码,例如\101,101代表十进制的65,所以就是大写字符'A'的转义字符。
\+x+数字:把这个数字转化成16进制转化成十进制,代表其对应的asc码,例如\x61,x61代表十进制的97,所以是小写字符'a'的转义字符。

追问

好的,知道了

本回答被提问者和网友采纳
第2个回答  2014-12-17
转义字符后面跟8进制数时,不能超过3位,如:'\007'追问

这个为什么不是二进制数

追答

C语言不支持你写的这种。
超出C规定的,C就不认识了!

追问

不太懂。。。初学者,麻烦解释下

追答

一、百度一下”转义字符“,认真阅读一下
二、任何语言都有自己的规范和要求,我们写代码,只能在语言规定范围内进行操作,超出范围,计算机就会报错。