C语言计算字符串长度问题

语句prinff(”%d\n”,strlen(”\t\”\、、n\"\065\08AB”));的输出结果是( )。

A 6

B 7

C 8

D 9

答案是A,虽然我知道strlen碰到\0就结束了,并且不计\0,但是前面怎么会是6呢?不是8吗?那两个顿号怎么计算的呢?

第1个回答  2018-03-10
第一个字符\t,第二个字符\",第三个字符\\,第四个字符\n,第五个字符\",第六个字符\065。追问

不对啊,双引号和顿号呢?而且strlen遇到\0就停下了,不可能读到\065啊

追答

顿号是输入法问题,应该为反斜杠\。
\065在结束标记\0的前面当然会计入长度。

追问

那双引号呢?

追答

正确的字符串应该是"\t\"\\\n\"\065\08AB",转义双引号用\"表示。

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

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