广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言如何计算字符串长度
  • 790
分享到

C语言如何计算字符串长度

C语言计算字符串长度C语言字符串长度C语言字符串 2023-02-06 12:02:02 790人浏览 泡泡鱼
摘要

目录C语言计算字符串长度思路分析1.用while循环实现2.用递归实现3.另一种递归实现计算字符串长度的函数解读总结C语言计算字符串长度 思路分析 字符串的结束标志是’\

C语言计算字符串长度

思路分析

字符串的结束标志是’\0’,因此计算字符串的长度的核心思想就是通过字符指针顺序检索每一个字符,直到检测到’\0’为止,以下是实现该算法的几种方式。

代码实现

1.用while循环实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>

int myStrlen(char* str)
{
    int count = 0;
    while(*str != '\0')
    {
        count++;//记录字符串长度
        str++;
    }
    return count;
}
int main()
{
    char arr[] = "bit";
    int len= myStrlen(arr);
    printf("%d\n", len);
    system("pause");
    return 0;
}

2.用递归实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>

int myStrlen( char *str)  
{
    if ((str == NULL) || (*str == '\0')) 
    {
        return 0;
    }
    else {
        return myStrlen(str + 1) + 1;
    }
}
int main()
{
    char arr[] = "bit";
    int len= myStrlen(arr);
    printf("%d\n", len);
    system("pause");
    return 0;
}

3.另一种递归实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>
#include <assert.h>
int myStrlen(const char *str)  
{
    assert(str != NULL);
    return *str ? (myStrlen(++str) + 1) : 0;
}
int main()
{
    char arr[] = "bit";
    int len= myStrlen(arr);
    printf("%d\n", len);
    system("pause");
    return 0;
}

计算字符串长度的函数解读

  • strlen函数求得的字符串长度是从字符串第一个元素到第一个'\0'之间元素的个数(如果字符串中间有'\0',则结果不是整个字符串的长度),同时不包括该'\0'
  • sizeof求得的结果是存储该字符串的变量占用的空间大小,因而一定会包括'\0'.若'\0'后还有空余的空间,也会包含到结果里面

解释(与2种求值方式的实现原理有关):

1.strlen()的一种实现就是遍历字符串,遇到'\0'就终止,因而返回的结果是第一个'\0'前字符元素的个数

2.sizeof 常用来求变量占用内存空间的大小,因而它返回的是存储字符串的变量所占用的内存空间大小,用来求字符串的长度,只在特定情况下可行,即字符数组刚好被一个字符串占满。

在C语言中,与strlen函数不同的是,sizeof不是一个函数,而是判断数据类型或者表达式长度符的关键字,也可以说是C/C++中的一个操作符(operator),其作用就是返回一个对象或者类型所占的内存字节数。

注意:字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来!

数组的sizeof值等于数组所占用的内存字节数,如:

char a1[] = "abc";
int a2[3];
sizeof( a1 ); // 结果为4,字符末尾还存在一个NULL终止符
sizeof( a2 ); // 结果为3*4=12(依赖于int)

那么如何求数组中元素的个数呢? (以下两种方式是等价的)

int c1= sizeof (a1)/ sizeof ( char ); //总长度/单个元素的长度  char型
int c2= sizeof (a2)/ sizeof (a2[0]); //总长度/第一个元素的长度 int型

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C语言如何计算字符串长度

本文链接: https://www.lsjlt.com/news/194294.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言如何计算字符串长度
    目录C语言计算字符串长度思路分析1.用while循环实现2.用递归实现3.另一种递归实现计算字符串长度的函数解读总结C语言计算字符串长度 思路分析 字符串的结束标志是’\...
    99+
    2023-02-06
    C语言计算字符串长度 C语言字符串长度 C语言字符串
  • c语言怎么使用strlen计算字符串长度
    在C语言中,可以使用strlen函数来计算字符串的长度。该函数在头文件中定义。下面是一个示例代码,展示如何使用strlen函数计算字...
    99+
    2023-08-12
    C语言 strlen
  • c++怎么计算字符串长度
    在C++中,可以使用`std::string`类的`length()`函数或者`size()`函数来计算字符串的长度。 以下是使用`...
    99+
    2023-10-28
    c++
  • C语言计算字符串最后一个单词的长度
    描述: 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 输入描述: 输入一行,代表要计算的字符串,非空,长度小于5000。 输...
    99+
    2022-11-12
  • c语言怎么计算字符数组的长度
    在C语言中,可以使用库函数strlen来计算字符数组的长度。strlen函数的原型为:```csize_t strlen(const...
    99+
    2023-10-09
    c语言
  • php 计算字符串长度
    在项目的开发中,常常遇到要计算一个字符串的长度(中英文结合),由于产品要求不同,每个中文的长度要求也不一样。 解决utf-8编码下的字符串长度(可自定义每个中英文算几个字节) private function utf8_strlen($st...
    99+
    2023-09-23
    php 开发语言
  • C语言怎样计算字符串最后一个单词的长度
    今天就跟大家聊聊有关C语言怎样计算字符串最后一个单词的长度,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(...
    99+
    2023-06-22
  • php如何计算字符串的长度
    在php中使用strlen()函数计算字符串的长度,具体方法如下:strlen()函数作用:php中strlen()函数的作用是用于返回字符串的长度。strlen()函数语法:strlen(string)参数:string:需要计算长度的字...
    99+
    2022-10-15
  • java中字符串如何计算字节长度
    目录java字符串计算字节长度1.方法一2.方法二3.代码中运用java截取字符串的指定字节数长度java字符串计算字节长度 通常,计算字符串长度大小方法很多,熟悉的有将字符串写入文...
    99+
    2022-11-13
  • php如何计算中文字符串长度
    这篇文章主要为大家展示了“php如何计算中文字符串长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何计算中文字符串长度”这篇文章吧。对于这个问题,我们可能第一反应就是使用strlen(...
    99+
    2023-06-20
  • go语言如何获取字符串长度
    这篇文章主要介绍了go语言如何获取字符串长度的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言如何获取字符串长度文章都会有所收获,下面我们一起来看看吧。获取方法:1、使用bytes.Count()获取长度,...
    99+
    2023-07-04
  • php怎么计算字符串长度
    本篇内容主要讲解“php怎么计算字符串长度”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么计算字符串长度”吧!php如何计算字符串长度?下面本篇文章给大家介绍一下php中计算字符串长度的...
    99+
    2023-06-20
  • 如何在c语言中求字符串长度并输出
    这期内容当中小编将会给大家带来有关如何在c语言中求字符串长度并输出,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言...
    99+
    2023-06-15
  • c语言数组长度如何计算
    在C语言中,可以使用sizeof运算符来计算数组的长度。sizeof运算符返回的是数组占用的总字节数之和。可以通过将总字节数除以数组...
    99+
    2023-10-08
    c语言
  • 批处理如何计算字符串的长度
    这篇文章主要为大家展示了“批处理如何计算字符串的长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何计算字符串的长度”这篇文章吧。代码如下:@echo off & setloca...
    99+
    2023-06-08
  • PHP如何计算英文字符串的长度
    本篇内容主要讲解“PHP如何计算英文字符串的长度”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP如何计算英文字符串的长度”吧!PHP中用来计算字符串长度的函数主要有两个:strlen() 和...
    99+
    2023-06-20
  • mysql中怎么计算字符串长度
    这篇文章给大家介绍mysql中怎么计算字符串长度,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  mysql中计算字符串长度函数  1、GBK 编码  char_length 1个中文...
    99+
    2022-10-18
  • Python计算字符串长度的函数
    文章目录 Python三种计算字符串长度的函数1、使用内置函数len2、使用for循环3、使用while循环和切片 代码代码展示代码运行结果 Python三种计算字符串长...
    99+
    2023-09-04
    python 开发语言 pycharm
  • C语言多种获取字符串长度的方法
    在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍 一、使用sizeof()运算符 在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用...
    99+
    2022-11-12
  • go语言怎么获取字符串长度
    获取方法:1、使用bytes.Count()获取长度,语法“bytes.Count([]byte(str), sep))”;2、使用strings.Count()获取长度,语法“strings.Count(str, substr)”;3、使...
    99+
    2023-05-14
    go语言 Golang
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作