strlen获取字符串长度,为什么碰到0x00就停止了呢

[复制链接]
401|5
 楼主 | 2017-6-27 12:35 | 显示全部楼层 |阅读模式
strlen获取字符串长度,为什么碰到0x00就停止了呢?
| 2017-6-27 13:31 | 显示全部楼层
要不然呢?

C语言入门书上面没讲字符串结束么?
| 2017-6-29 18:03 | 显示全部楼层
字符串的结束就是0x00,不停止就不对了
| 2017-6-29 18:19 | 显示全部楼层
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
| 2017-6-29 19:23 | 显示全部楼层
0x00在ASII码字符串中,代表着最后一位,没有意义,所以过滤掉了
| 2017-6-29 19:33 | 显示全部楼层
字符串的规定就是这样的,没有为什么。这样才是正常的,不然字符串就没结束了。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /4 下一条

分享 快速回复 返回顶部 返回列表