看书的时候遇到:
对于以下字符串,strlen(s)的值为:
(1)char s[10] = { 'A', '\0', 'B', 'C', '\0', 'D' };
(2)char s[ ] = "\t\v\\\0will\n";
(3)char s[ ] = "\x69\082\n";
2 回答

守候你守候我
TA贡献1570条经验 获得超10个赞
首先,你要明确:字符串结束的标志是\0。
其次,你要明白:\t,\v是转义字符,是字符常量。
最后,你要知道:strlen( )函数的作用是测试字符串长度(不包括\0)。
char s[10] = { 'A', '\0', 'B', 'C', '\0', 'D' };
当运行strlen(s)时,从起始地址s开始扫描,到\0时结束操作,返回一个整型数1。
char s[ ] = "\t\v\\\0will\n";
在这个字符串中\0前面有3个转义字符\t\v\\,所以返回3。
char s[ ] = "\x69\082\n";
\x69 是一个转义字符,意思是十六进制的69在ASCII中所代表的字符。

ITMISS
TA贡献1603条经验 获得超8个赞
遇到\0就表示该字符串结束,后面即使再长也都不参与计算……
所以第一的长度是1,
第二个的\是转移字符,\t表示一个字符,后面同理;
第三个x69是16进制数,其实还是一个字符
明白了么?
添加回答
举报
0/150
提交
取消