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

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

相关推荐
摸鱼也很难40 分钟前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
woshilys1 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹4 小时前
基于java的改良版超级玛丽小游戏
java
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭4 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
努力--坚持4 小时前
电商项目-网站首页高可用(一)
nginx·lua·openresty
好像是个likun4 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器