mshd.net
当前位置:首页 >> C strlEn \0 >>

C strlEn \0

不一定,可能有很多\0 比如: #include #include int main(void) { char x[]="\0\0\0\0\0\0\0"; printf("%d\n",strlen(x)); return 0; } 结果一样是0

1 #include 2 #include 3 4 int main() 5 { 6 printf("%d\n",sizeof("\0")); 7 printf("%d\n",strlen("\0")); 8 9 } 运行结果: [root@squidx ~]# ./a.out 2 0 1 sizeof计算的字符的字节数,同时还要加上最后面的'\0' 就相当于两个'\0',所以为2 ...

strlen仅仅计算字符个数,不包括最后的\0。 解析说的包含结尾符是不当的。 至于减一是因为数组是从0开始的,最后一个元素的下标是字符个数减一。选择B是正确的。

书上没有错 这里-1是因为数组的下标是从0开始的

因为strlen函数会以“\0”为结束,读到“\0”即结束了,也就是只统计了A,一个长度。 拓展: 如果是strlen("A\0123\0ASD"); 统计结果为3,因为\012为八进制数10所对应的ASCII嘛值,共有A、\012、3三个字符被统计!

返回值是2 \0作为结束符,表示字符号串结尾的 strlen求字符串长度的,以\0为结束符的,\0不计算到字符串中。

strlen是求字符串长度的函数。 函数原型:unsigned int strlen(char *s); 参数:s是char类型的指针,指向要求长度的字符串 返回值:返回字符串的长度,返回类型是无符号整型 注意: strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(...

不包括,要不就没有空字符串了

strlen("s\n\016\0end") 结果为3 strlen从开始位置计数,遇\0结束! 被统计上的字符包括: s \n 换行 \016是一个转义后的字符 016是8进制数

strlen()函数统计并返回一个字符串含有的字符数量,直到碰到第一个'\0'为止。'\0'本身不计入长度。因此strlen(s)统计了'a'、'b'、'c'三个字符,返回3。 sizeof()返回该变量占用的内存空间。该字符串共有7个字符,外加结束标记'\0',因此共8个字...

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com