main() {printf("%d\n",strlen("\nabcc\\\","\\",\041\0xf\t\n"));}输出结果及过程。谢谢!

如题所述

你的这个语句有问题:看下面这句吧,目的是一样的吧问题搞懂就可以了
printf("%d\n",strlen("\nabcc\\\",\\\",\041\0xf\t\n"));

考点是C语言的转义字符
定义:转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'/'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
\n 是换行符
a
b
c
c
\\表示一个\
\"表示一个"
,
\\表示一个\
\"表示一个"
\041 表示一个8进制的数 换成10进制: 4*8+1*1=33 对应ASCII编码是表示一个!号
\0xf 是要严格注意的 \xhh 是表示16进制的。 所以只能看前面的\0 这个表示字符串的结束符号。看到这个符号,后面不管有多长都不会显示,也不会计入l字符串的长度中。

【所以我的这个题目:总长度是12】

http://wenku.baidu.com/view/72be8d32ee06eff9aef80778.html?st=1
好好参考下把。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网