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 函数
本文由博客 - 猿说编程 猿说编程 发布!
© 著作权归作者所有,转载或内容合作请联系作者

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

相关推荐
皆过客,揽星河6 分钟前
mysql进阶语法(视图)
数据库·sql·mysql·mysql基础语法·mysql进阶语法·视图创建修改删除
mqiqe19 分钟前
架构-亿级流量性能调优实践
java·架构
中国胖子风清扬22 分钟前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
盟接之桥29 分钟前
盟接之桥说制造:在安全、确定与及时之间,构建品质、交期与反应速度的动态平衡
大数据·运维·安全·汽车·制造·devops
野犬寒鸦1 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
七夜zippoe1 小时前
AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易
java·人工智能·金融
岁忧1 小时前
(LeetCode 面试经典 150 题) 200. 岛屿数量(深度优先搜索dfs || 广度优先搜索bfs)
java·c++·leetcode·面试·go·深度优先
dbdr09011 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
鹧鸪云光伏与储能软件开发2 小时前
投资储能项目能赚多少钱?小程序帮你测算
运维·数据库·小程序·光伏·光伏设计软件·光伏设计
群联云防护小杜2 小时前
服务器异常磁盘写排查手册 · 已删除文件句柄篇
运维·服务器·nginx·开源·lua