“\n\\\407as1\"\xabc”

这个字符串多少个,解释一下 在C语言中

是9个

从左到右的说:
\n 是一个。 注意转义符号。
\\ 是一个。 注意转义符号。
\407是一个。 注意转义符号后面是八进制数
a是一个。
s是一个。
1是一个。
\"是一个。 注意转义符号。

第9个是c.

\xab 是一个, c语言转义字符 \ddd 1到3位八进制数代表一个转义字符

\xdd 是一个 1到2位十六进制数代表一个转义字符.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-26
应该是 8 个。
从左到右的说:
\n 是一个。 注意转义符号。
\\ 是一个。 注意转义符号。
\407是一个。 注意转义符号后面是八进制数
a是一个。
s是一个。
1是一个。
\"是一个。 注意转义符号。
\xabc是一个。注意转义符号后面是十六进制数。
第2个回答  2013-11-26
楼上两位都错了

错在8进制的那个字符表示
虽然 \ddd 1到3位八进制数代表一个转义字符
但ddd是有范围限制的 在0~377之间
而上面\407显然超过这个范围
所以编译器要么报错 要么就把他当成'\40' 和'7'来处理

而十六进制\xdd 这个dd的范围是0~ff
所以\xabc 就是'\xab'和'c'

还有你问的问题如果是字符串长度的话就是10
如果是内存单元的个数的话就是11了,因为最后还有一个'\0'不要忘了
相似回答