本文章向大家介绍使用C语言怎么求字符串的长度,主要包括使用C语言怎么求字符串的长度的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译、处理低级存储器。
1.最常用的方法是创建一个计数器,判断是否遇到‘\0',不是'\0'指针就往后加一。
int my_strlen(const char *str)
{
assert(str != NULL);
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
2.不创建计数器,从前向后遍历一遍,没有遇到‘\0'就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度。
int my_strlen(const char *str)
{
char *end = str;
assert(str!=NULL);
assert(end!=NULL);
while (*end != '\0')
{
end++;
}
return end - str;
}
3.不创建计数器,递归实现。
int my_strlen(const char *str)
{
assert(str != NULL);
if (*str == '\0')
{
return 0;
}
else
{
return (1 + my_strlen(++str));
}
}
也可以写成这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == '\0') ? 0 : (my_strlen(++str) + 1);
}
或者这样:
int my_strlen(const char *str)
{
assert(str != NULL);
return (*str == '\0') ? 0 : (my_strlen(str+1) + 1);
}
到此这篇关于使用C语言怎么求字符串的长度的文章就介绍到这了,更多相关的内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。