您的位置:首页 > 编程语言 > C语言/C++

一起talk C栗子吧(第六十七回:C语言实例--DIY字符串长度函数)

2015-11-29 08:58 393 查看
各位看官们,大家好,上一回中咱们说的是DIY字符串比较函数的例子,这一回咱们说的例子是:DIY字符串长度函数。闲话休提,言归正转。让我们一起talk C栗子吧!

我们在前面的章回中没有专门介绍过字符串长度函数,只是简单提了几句。不过在实际工作中经常使用它计算字符串的长度,使用时只需要注意它不把字符串的小尾巴看作字符串的内容,也就是说不计算小尾巴的长度。今天让我们一起DIY字符串长度函数:strlen。 Just do it by yourself!

DIY strlen函数

int diy_strlen(const char *s1)

1.判断字符串s1是否是空串,如果是空串,那么返回0;如果不是,进入下一步;

2.从字符串的第一个字符开始,依次统计字符串中字符的数量,直到遇到字符串的小尾巴为止;

3.返回步骤2中统计的数量;

下面是我写的代码,请大家参考:

int diy_strlen(const char *s1)
{
int len = 0;

if(NULL == s1)
return 0;

while(*s1 != '\0')
{
s1++;
len++;
}

return len;
}


下面是标准库中strlen函数的代码,请大家和我们DIY的代码进行比较:

/**
* strlen - Find the length of a string
* @s: The string to be sized
*/
size_t strlen(const char *s)
{
const char *sc;

for (sc = s; *sc != '\0'; ++sc)
/* nothing */;
return sc - s;
}


通过对比,大家可以发现,标准库提供的代码和我们DIY的代码不一样。标准库使用指针的差值做为长度,我们使用了单独的变量来统计长度,不过它们的计算思路是一样的。希望大家能够掌握。

各位看官,关于DIY字符串长度函数的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: