目录

1.strlen()函数功能
2.strlen()函数的使用
2.1 数组
3.注意事项

1.strlen()函数功能

strlen()函数 用于 计算 指定字符串的 长度,但 不包括 结束字符(打印字符串长度)。

2.strlen()函数的使用

切记添加头文件 #include <string.h>
方法一:直接通过 printf()函数 + strlen()函数 打印出字符串的长度

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
#include <string.h>int main()
{char arr1[] = "abc";// "abc" -- 'a' 'b' 'c' '\0'printf("字符串arr1的数据长度为:%d\n", strlen(arr1));return 0;
}

运行结果

方法二:利用 ifelse语句 比较字符串长度大小,并输出结果

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
#include <string.h>int main()
{char arr1[] = "abcdef";// 定义并初始化含有6个元素的字符型数组char arr2[] = "abc";// 定义并初始化含有3个元素的字符型数组if (strlen(arr2) - strlen(arr1) > 0)// 将数组arr2[]的长度减去数组arr1[]的长度,得到一个常量与0比较{printf("arr2>arr1\n");// 数组arr2[]的长度大则输出此条语句}else printf("arr2<arr1\n");// 数组arr1[]的长度大则输出此条语句return 0;
}

运行结果

方法三:将数据存入数组后,计算数据长度,并连同数组一起打印

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
#include <string.h>int main()
{char name[10];int num;strcpy(name, "Gavin");// 把含有'\0'结束符的字符串"Gavin"复制到name所在的地址空间num = strlen(name);// 计算name[]数组长度printf("My name is %s.It's %d words long\n", name, num);//打印信息return(0);
}

运行结果

3.注意事项

以下通过两个程序来举例

例1:

#define _CRT_SECURE_NO_WARNINGS 1                        #include <stdio.h>
#include <string.h>                                  int main()
{                                                                                                           char arr1[] = "abc";// "abc" -- 'a' 'b' 'c' '\0'         // '\0'是字符串的结束标志                                                       char arr2[] = {'a', 'b', 'c'};// 'a' 'b' 'c'    printf("%s\n", arr1);                                                                       printf("%d\n", strlen(arr1));                                                  printf("%s\n", arr2);                                                             printf("%d\n", strlen(arr2));                                        return 0;
}

输出结果中出现乱码

例2:

#define _CRT_SECURE_NO_WARNINGS 1                                              #include <stdio.h>                                                                           int main()
{                                                                                                           char arr1[] = "abc";// "abc" -- 'a' 'b' 'c' '\0'         // '\0'是字符串的结束标志                                                       char arr2[] = {'a', 'b', 'c', 0};// 'a' 'b' 'c' '\0'printf("%s\n", arr1);                                                                         printf("%d\n", strlen(arr1));                                                  printf("%s\n", arr2);                                                             printf("%d\n", strlen(arr2));                                        return 0;
}

输出结果能够正常得到预期结果

结论:字符串的结束标志是一个" \0 "的转义字符。在计算字符串长度的时候" \0 "是结束标志,不算字符串内容。如果没有结束标志,则程序可能沿着数组在内存中的位置不断向前寻找,直到遇见空字符才会停止。

—————————END————————— 往期回顾

★C语言学习6:数据类型 -> 基本类型 -> 整型类型(int、short int、long int、char等)

★C语言学习7:ASCII码表及用法简介

★C语言学习8:全局变量和局部变量

★C语言学习9:This function or variable may be unsafe. (Visual Studio 2013关于scanf函数报错的解决办法)

★C语言学习10:数组

C语言学习11:strlen()函数详解相关推荐

  1. C语言strlen函数详解

    strlen函数详解 一.strlen函数简介 1.函数原型 2.注意事项 二.strlen函数模拟实现 1.计数器方式 2.递归实现 3.指针-指针实现 一.strlen函数简介 1.函数原型 si ...

  2. gets和fgets函数及其区别,C语言gets和fgets函数详解

    gets和fgets函数及其区别,C语言gets和fgets函数详解 每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的"互联网蠕虫",它在 UNIX 操作系统的 ...

  3. puts和fputs函数及其区别,C语言puts和fputs函数详解

    puts和fputs函数及其区别,C语言puts和fputs函数详解 与 gets 函数一样,对于 puts 函数,同样建议使用 fputs 函数来代替 puts 函数.如下面的示例代码所示: int ...

  4. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  5. C语言strcpy、strcnpy函数详解

    C语言strcpy.strcnpy函数详解 一.strcpy函数 1.函数原型 2.参数.返回值解析 3.注意事项 4.strcpy函数模拟实现 二.strncpy函数 1.函数原型 2.与strcp ...

  6. C语言strcat、strncat函数详解

    C语言strcat.strncat函数详解 一.strcat函数 1.函数原型 2.函数参数.返回值解析 3.函数作用 4.注意事项 5.strcat函数模拟实现 二.strncat函数 1.函数原型 ...

  7. C语言学习19:操作符详解

    目录 1.操作符种类 1.1 算术操作符 1.2 移位操作符 1.3 位操作符 1.4 赋值操作符 1.5 单目操作符 1.6 关系操作符 1.7 逻辑操作符 1.8 条件操作符 1.9 逗号表达式 ...

  8. 【C库函数】strlen函数详解

    目录 strlen ​ 函数基本原型 参数解读 返回值详解 函数用法详解 strlen 获得字符串的长度(string length)  函数基本原型 size_t strlen( const cha ...

  9. strlen()函数详解

    头文件:#include <string.h>  strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s); strlen()用来计 ...

最新文章

  1. 容灾备份技术的分类概述
  2. c 中=和==的区别有哪些?
  3. java后端面试笔记-自用
  4. 01背包问题(DFS解法)
  5. js计算排名_今天,我们讲一下,快速排名与黑帽SEO
  6. rest api是什么_如何选择合适的API测试工具
  7. 决策树(八)--随机森林及OpenCV源码分析
  8. 基于FPGA的车牌识别
  9. vss2005版本库迁移
  10. Visual Studio 2005超级集成版本下载
  11. “暖男”经济学:创业者最后的增长红利?
  12. 最好用的Mac任务规划软件【滴答清单】
  13. Mac制作windows10安装U盘
  14. 计算机体系结构 第一章 计算机系统结构的基础知识(2)
  15. Python 采集87个手绘风格PPT模板
  16. 对面工位小老弟,你做的测试我服气!
  17. IDEA中Git的配置及其使用(图文结合,步骤详解)
  18. [第五章] 深入理解计算机系统第三版 家庭作业参考答案
  19. 服务器 系统 ghost,3.5.2 在服务器上用Ghost恢复系统包(1)
  20. iOS调试Bug技巧

热门文章

  1. 中国非定向信标市场市场趋势研究与竞争策略分析报告2022-2028年
  2. SMU Problem 1727 逃生
  3. 不放量上行,就缩量盘整
  4. 2015 奇妙的数字
  5. 小龙虾壳做环保包装袋,用计算机视觉来远程监考……这些公司好好玩!
  6. Android开启odex开关和开机速度优化
  7. 大龄码农适合做什么,比如40岁以上?
  8. 未能加载文件或程序集“SrvCommon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”
  9. iOS开发之语音朗读文字
  10. RTKLIB_trans_all