strlen("A\0B\0C")结果为什么是1

strlen()的原理是什么... strlen()的原理是什么 展开
 我来答
XHHISEA02274
推荐于2020-02-16 · TA获得超过8万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:4720万
展开全部
因为strlen函数会以“\0”为结束,读到“\0”即结束了,也就是只统计了A,一个长度。

拓展:
如果是strlen("A\0123\0ASD");
统计结果为3,因为\012为八进制数10所对应的ASCII嘛值,共有A、\012、3三个字符被统计!
华瑞RAE一级代理商
2024-04-11 广告
impulse-4-xfxx是我们广州江腾智能科技有限公司研发的一款先进产品,它结合了最新的技术创新和市场需求。此产品以其卓越的性能和高效的解决方案,在行业内树立了新的标杆。impulse-4-xfxx不仅提升了工作效率,还为用户带来了更优... 点击进入详情页
本回答由华瑞RAE一级代理商提供
追雨的流星
2013-12-03 · 超过22用户采纳过TA的回答
知道答主
回答量:89
采纳率:100%
帮助的人:49.8万
展开全部
strlen()是字符串库中含有的一个函数,它可以计算字符串的长度。同时,字符串总是以'\0'作为串的结束符,且‘\0’不计入字符串长度,因此,它只计算的‘A’一个字符的长度,后边的就不认为是字符串内容了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qmg1023
2013-12-03 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:985万
展开全部
C的字符串以\0结束,这个输入只有A在\0前面因此返回1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
www81W1
2013-12-03 · TA获得超过368个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:141万
展开全部
int strlen(const char* str)
{
const char *p = str;
while(*p != '\0')
++p;

return p - str;
}

或者
int strlen(const char *str)
{
int i = 0;
while(str[i] != '\0')
++i;
return i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式