黑马程序员技术交流社区

标题: 2种计算字符串长度方法 [打印本页]

作者: 865061682    时间: 2015-8-2 22:08
标题: 2种计算字符串长度方法
用sizeof计算的字符串长度包括了\0
用strlen计算的字符串长度不包括\0

作者: 70852    时间: 2015-8-2 22:12
2楼 请楼主继续讲啊
作者: 865061682    时间: 2015-8-3 22:41
70852 发表于 2015-8-2 22:12
2楼 请楼主继续讲啊

就是第一种方法计算的长度会比第二种方法少1
作者: wowthe1st    时间: 2015-8-3 22:54
虽然差不多,但是很不严谨;
sizeof反正是只把变量占用的所有字节算出来,
可不能用来计算字符串长度,除非是直接声明字符数组,但是一般字符串都是
char *这样声明的,这样调用sizeof只会返回一个指针变量占用的内存大小,一般是4
strlen才是计算字符串长度;
而且即使都是在字符数组基础上进行计算,也不一定是strlen值少1,
因为strlen遇到0就结束了,要是数组里并不是最后一位存了0的话,结果就差很多了
作者: 刘彦麟    时间: 2015-8-3 23:24
楼上的写的很详细

作者: DUKEMAN    时间: 2015-8-4 16:03
wowthe1st 发表于 2015-8-3 22:54
虽然差不多,但是很不严谨;
sizeof反正是只把变量占用的所有字节算出来,
可不能用来计算字符串长度,除非 ...

补充的可以
作者: 魔尊    时间: 2015-8-4 16:14
继续啊,亲,
作者: cheenbee    时间: 2015-8-4 22:03
sizeof只是一个运算符,而strlen()确实函数




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2