c语言中关于计算字符串长度的几种方式有哪些,用c语言计算字符串长度

c语言中关于计算字符串长度的几种方式有哪些,用c语言计算字符串长度,C语言中关于计算字符串长度的几种方式

本文主要介绍了C语言中计算字符串长度的几种方法,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

目录

计算字符串长度的几种方法。自定义函数使用字符串头文件中的strlen()函数来计算字符串的长度。sizeof()运算符用于计算字符串的长度。使用sizeof和strlen的凹坑由strlen和sizeof计算。

计算字符串长度的几种方式

c语言计算字符串长度,可以手工计算,也可以使用库函数或sizeof()运算符计算。

对自定义函数的长度使用strlen()函数和sizeof()运算符。

自定义函数

int cont_str(char *s)

{

int I=0;

while ( str[i ]!='\0');

return-I;

}

使用string头文件中的strlen()函数

strlen(str);//假设str是要查找的字符串数组名

使用sizeof()操作符

int len=sizeof(str)/sizeof(str[0])-1;//假设str是要查找的字符串数组名

注意:

strlen()函数得到的字符串长度是有效长度,字符串末尾不包含终止符' \ 0 ';sizeof()运算符计算的长度在字符串末尾包含终止符“\ 0”;

用sizeof()求解函数形参传入的字符数组长度时,结果是指针的长度,对应的是变量的字节数,而不是字符串的长度。在这里要小心。(当一个数组或者一个字符串(可以理解为数组)作为函数参数时,会被当作指针使用。指针的长度由编译器决定,大部分是4字节。)

例如:

void strlen(char* str)

{

int长度;

length=sizeof(str)/sizeof(str[0]);//str是4个字节,str[0]=1

}

计算字符串长度,使用sizeof和strlen的坑

最近刷leetcode遇到了很多字符串处理问题。我经常需要计算字符串长度。踩了很多坑,分享一下。

使用strlen计算

1.参考字符串. h

2.在声明一个字符串时,如果同时初始化它,就需要有足够的空间来存储“\ 0”。

解释一下就是:

例如:

char str[]=' 12345 ';//同时声明和初始化

此时,字符串中实际存储的是“12345\0”。此时strlen(str)遇到' \ 0 ',停止基数,返回数组长度5;

如果char str[5]='12345 ',字符串中实际存储的是“12345”,没有多余的空间存储' \ 0 ',strlen(str)返回一个无意义的随机值(我是这么认为的)。也就是说,如果定义的字符串长度实际上是1,strlen函数就没有意义,不能使用。

相反,如果定义的字符串长度=实际字符串长度为1,则结果是正确的。

使用sizeof计算

1.sizeof(str),其中str必须是字符数组名。如果传入一个char指针(不包括*),则返回的指针类型的宽度必须是4。

假设定义了字符串char *str,则区分sizeof(*str)等价于返回1的sizeof(char),sizeof(str)等价于返回4的sizeof(char *)。没有办法激活字符串长度。

2.sizeof返回该字符串占用的内存大小。

char str[20]=' 12345 ';Sizeof(str)返回20;

Char [2]=' 12345 ',sizeof (str)返回2;

Char []=' 12345 ',sizeof (str)返回6,其中包含隐含的' \ 0 '字符;

以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: