关于strlen的实现

Jim_King_2000 Jim_King_2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
http://digi.it.sohu.com/20060217/n241879844.shtml

我在上述链接中看到关于strlen函数的实现,实现如下:
int strlen(const char *str)
{
assert(str != NULL);
int len = 0;
while((*str++) != '\0')
len++;
return len;
}
文章作者对上述代码的评论为:“读者看了不同分值的strcpy版本,应该也可以写出一个10分的strlen函数了,完美的版本为……”

本人不敢苟同,提出另外一种实现,大家觉得呢:
int strlen(const char *str)
{
assert(str);
const char *p = str;
while(*p++);
return p - str - 1;
}
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
Jim_King_2000
C语言 70,039 成员 243,237 内容