语句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",转义双引号用\"表示。
本回答被提问者采纳