C语言 strlen 函数 - C语言零基础入门教程

目录

  • [一.strlen 函数简介](#一.strlen 函数简介)
  • [二.strlen 函数实战](#二.strlen 函数实战)
  • 三.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.strlen 函数简介

C 语言中,char 字符串也是一种非常重要的数据类型,我们可以使用 strlen 函数获取字符串长度;

字符串一般用一对双引号" "括起的一串字符来表示字符串常量,字符串默认以转义字符'\0'结尾,字符串常量是不可被修改的;

strlen 函数 会扫描整个字符串,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0');

复制代码
/*
*描述:
*   [in] s:字符串
*
*返回值:返回字符串s的长度,注意不包括 \0
*/
int strlen(char *s);

注意: strlen 函数返回的长度是不包括 '\0',而 sizeof 函数返回的长度包括'\0',所以在获取字符串长度的时候, strlen 函数返回值要比 sizeof 函数少一个字节;

二.strlen 函数实战

复制代码
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 strlen 函数
//@Time:2021/06/02 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
void main()
{
    char* p = "www.codersrc.com";
    printf("字符串:%s   长度:%d\n", p,strlen(p));
    char* p1 = "www";
    printf("字符串:%s   长度:%d\n", p1, strlen(p1));
    char* p2 = "0123456789";
    printf("字符串:%s   长度:%d\n", p2, strlen(p2));
    char* p3 = "01234\0 56789";
    printf("字符串:%s   长度:%d\n", p3, strlen(p2));
    system("pause");
}
输出:
字符串:www.codersrc.com   长度:16
字符串:www   长度:3
字符串:0123456789   长度:10
字符串:01234   长度:5
请按任意键继续. . .

注意最后一行代码,strlen 函数获取到的字符串长度并不是 10 ,strlen 函数获取字符串长度时到'\0'就结束了!

三.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C 语言格式控制符/占位符
  7. C 语言逻辑运算符
  8. C 语言三目运算符
  9. C 语言逗号表达式
  10. C 语言自加自减运算符(++i / i++)
  11. C 语言 for 循环
  12. C 语言 break 和 continue
  13. C 语言 while 循环
  14. C 语言 do while 和 while 循环
  15. C 语言 switch 语句
  16. C 语言 goto 语句
  17. C 语言 char 字符串
  18. C 语言 strlen 函数

未经允许不得转载:猿说编程 >> C 语言 strlen 函数
本文由博客 - 猿说编程 猿说编程 发布!
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
Java成神之路-17 分钟前
深入理解三大高频队列:ArrayDeque、LinkedList、PriorityQueue 方法、特性与场景选择
java
fanged22 分钟前
Linux的DD命令
linux·运维·服务器
roman_日积跬步-终至千里26 分钟前
【资源控制】自助查询的智能路由
java·大数据·数据库
步行cgn1 小时前
MyBatis Error evaluating expression ‘ids‘. Return value (3) was not iterable 错误详
java·后端
lhldsg1 小时前
社区健身场地规划实战指南:从器材配置到智能化管理经验分享
java·开发语言·经验分享·小程序
LayZhangStrive1 小时前
后端通识 - 后端工程开发常用的流程图类别
java·流程图·后端开发
xiaoxiangsiyan1 小时前
RHCE2026云原生路线EX188和EX288完整备考指南
运维·网络·云原生·自动化
WIN赢1 小时前
【抽象思想-从复杂中抽离简单、收敛的口子】
java·前端·javascript
九硕智慧建筑一体化厂家2 小时前
从照明节能到碳排可见:能碳平台助力机房迈向 “零碳” 未来
运维·笔记·智慧城市
captain3762 小时前
多线程单例模式
java·单例模式·java-ee