写点什么

strlen()

作者:謓泽
  • 2022 年 7 月 18 日
  • 本文字数:1102 字

    阅读完需:约 4 分钟

strlen()

🚩write in front🚩

🔎大家好,我是謓泽,希望你看完后。能对你有所帮助,不足请指正,共同学习交流🔎

🆔本文由 謓泽 原创 如需转载还请通知⚠

📝个人主页-InfoQ - 促进软件开发及相关领域知识与创新的传播-极客邦💬

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩

📢2021 年度博客之星物联网与嵌入式开发 TOP5~2021 博客之星 Top100~阿里云专家 ^ 星级博主~掘金⇿InfoQ 创作者~周榜 92»总榜 1382👋

🎄strlen() - 计算字符串长度🎄

strlen() 函数的声明方式如下 👇


size_t strlen ( const char * str );
复制代码


获取字符串长度。

返回 C 字符串 str 的长度。

str  要计算长度的字符串。

字符串的'\0'作为结束标志,strlen 函数的返回值是在字符串中出现的字符个数(不包含'\0')

注意:函数的返回值是无符号的 unsigned 容易出错の。

Size_t→是一个无符号(unisgned int)整型类型。


🔥→strlen 的工作原理:只要给我个地址,那么 strlen 就可以向后数字符,至到遇到'\0'就会停止。

🎄strlen()函数代码示例🎄

使用 strlen() 函数代码示例如下 👇


#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>
int main(void){ char str[20] = {"44778899"};
int len = strlen(str); printf("%s 的长度是 %d\n", str, len);
return(0);}
复制代码


运行结果如下→44778899 的长度是 8

当然我们还要注意:char str[] = {'a','b','c'}; 如果是这样的话就没有'\0',那么产生的就是随机值!还是按照上面的代码进行演示。


#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>
int main(void){ char str[] = {'a','b','c'};
int len = strlen(str); printf("%s 的长度是 %d\n", str, len);
return(0);}
复制代码


这样的运行结果就会是随机值,因为我们不知道反斜杠'\0'在哪里。

🎄创建自定义函数实现 strlen()的功能🎄

示例代码如下:👇


#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<assert.h>//assert的头文件int My_strlen(const char *arr){  unsigned int Count = 0;//统计字符不可能是为负数的!        assert(arr!=NULL);//这里加入到断言就能确保我们输入字符串的时候不会是空指针  while (*arr != '\0')  {    Count++;    arr++;  }  return Count;//返回计算机长度}int main(void){  char enter[20] = { 0 };  printf("请输入字符串->:");  scanf("%s", &enter);  int ret = My_strlen(enter);  printf("The total number of input strings:%d\n",ret);  return 0;}
复制代码


运行结果如下 👇

请输入字符串:C 语言天下第一

The total number of input strings:7


发布于: 刚刚阅读数: 3
用户头像

謓泽

关注

一起happy! 2022.01.29 加入

谁也不知道旅途的终点是怎么样的,现在只不过是开始。便全力以赴!终点必将是星辰大海。 2021年度博客之星物联网与嵌入式开发TOP5 2021博客之星Top100 阿里云专家博主^星级博主 CSDN⇿掘金⇿InfoQ[创作者]

评论

发布
暂无评论
strlen()_7月月更_謓泽_InfoQ写作社区