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

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

拓局樱笑展:
如果是strlen("A\0123\0ASD");
统计结果为3,因为桐含\012为颂颤八进制数10所对应的ASCII嘛值,共有A、\012、3三个字符被统计!
追雨的流星
2013-12-03 · 超过22用户采纳过TA的回答
知道答主
回答量:89
采纳率:100%
帮助的人:46.6万
展开全部
strlen()是字符串库中含有的一个函数,禅让它可以岩孝计算字符串的长度。同时,字符串总是以'\0'作为串的结束符,且‘\0’不计入字符串长度,因此,它只计算的‘A’一个字符的长度,后边的就不认为是字符串粗袭稿内容了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qmg1023
2013-12-03 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:903万
展开全部
C的字符串以\0结束,这个输入只有A在\0前面因此返回1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寻森良Z
2013-12-03 · TA获得超过368个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:130万
展开全部
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

提交
取消

辅 助

模 式