答案为什么是1,3,1 ?不知道是怎么来的,请教一下!

看书的时候遇到:
对于以下字符串,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"; 

跃然一笑
浏览 64回答 2
2回答

守候你守候我

首先,你要明确:字符串结束的标志是\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

遇到\0就表示该字符串结束,后面即使再长也都不参与计算……所以第一的长度是1,第二个的\是转移字符,\t表示一个字符,后面同理;第三个x69是16进制数,其实还是一个字符明白了么?
打开App,查看更多内容
随时随地看视频慕课网APP