C语言判断字符串长度的方法小结

 更新时间:2024年08月27日 08:56:24   作者:蔚蓝星辰mic  
学过C/C++的人都知道,在C/C++中并没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取其长度,那么对于其他类型的数组如何获取他们的长度呢?本文给大家介绍了C语言判断字符串长度的方法小结,需要的朋友可以参考下

strlen()

在C语言中,可以使用strlen()函数来计算一个字符串的长度(不包括字符串末尾的空字符’\0’)。例如:

在使用strlen函数时,需要添加string.h头文件。

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "hello c";
    int length = strlen(str);
    printf("字符串长度为%d\n",length);
    return 0;
}

上面的代码段将输出:字符串长度为7,因为字符串"hello c"包含7个字符。

自定义函数

如果不想使用sizeof()和strlen(),可以利用循环来判断字符串的长度。
编写函数通过传入一个字符串,返回一个长度数值。

#include <stdio.h>
#include <string.h>

int func_length(char str[]){
    char *p = str;
    int cnt = 0;
    while(*p!='\0'){
        cnt++;   // 计数
        p++;
    }
    return cnt;
}

int main() {
    char str[] = "hello c";
    int length = func_length(str);
    printf("字符串长度为%d\n",length);
    return 0;
}

输出结果:字符串长度为7

区别:sizeof()

#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "hello c";
    printf("字符串长度为%d\n",sizeof(str));
    return 0;
}

输出结果:字符串长度为8
注意:在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。
在使用sizeof()求字符串长度时,会将 ‘\0’ 也计算到字符串长度中。例如"abcd"用sizeof()求长度会计算得到5。
char str[100]=“”; sizeof(str)的值是100。

到此这篇关于C语言判断字符串长度的方法小结的文章就介绍到这了,更多相关C语言判断字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c语言实现学生管理系统详解

    c语言实现学生管理系统详解

    这篇文章主要为大家介绍了c语言实现学生管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2021-12-12
  • QT6中绘制UI的两种方法详解与示例代码

    QT6中绘制UI的两种方法详解与示例代码

    Qt6 提供了两种主要的 UI 绘制技术:​​QML (Qt Meta-Object Language)​​ 和 ​​C++ Widgets​​,这两种技术各有优势,适用于不同的开发场景,本文将详细介绍这两种技术,并通过示例代码展示它们的用法,需要的朋友可以参考下
    2025-05-05
  • C++静态成员函数和this指针详解

    C++静态成员函数和this指针详解

    这篇文章主要为大家介绍了C++静态成员函数和this指针,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Qt自定义图形实现拖拽效果

    Qt自定义图形实现拖拽效果

    这篇文章主要为大家详细介绍了Qt自定义图形实现拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • C语言实现动态扩容的string

    C语言实现动态扩容的string

    最近工作中使用C语言,但又苦于没有高效的字符串实现,字符串的拼接和裁剪都很麻烦,而且每个字符串都需要申请内存,内存的申请和释放也很容易出bug,怎么高效的实现一个不需要处理内存问题并且可以动态扩容进行拼接和裁剪的string呢?本文就来详细讲讲
    2023-04-04
  • 深入解读C++ 内联函数inline|nullptr

    深入解读C++ 内联函数inline|nullptr

    内联函数:用** inline 修饰的函数叫做内联函数,编译时C++编译器会在调用的地方展开内联函数**,这样调用内联函数就需要创建栈桢,就提高效率了,这篇文章给大家介绍C++ 内联函数inline|nullptr的相关知识,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • C++中的atoi 函数简介

    C++中的atoi 函数简介

    这篇文章主要给大家分享的是C++中的atoi 函数的简单介绍,在 stdlib.h 中 atoi 函数,可用于将 char 字符串转为 int 整数类型,集体的语法操作请参考下面文章的详细内容
    2021-11-11
  • fatal error LNK1104: 无法打开文件“libc.lib”的解决方法

    fatal error LNK1104: 无法打开文件“libc.lib”的解决方法

    本篇文章是对fatal error LNK1104: 无法打开文件“libc.lib”的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解在VScode中添加代码块(含C++指令生成代码)

    详解在VScode中添加代码块(含C++指令生成代码)

    这篇文章主要介绍了详解在VScode中添加代码块(含C++指令生成代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • c语言根据用户输入的出生年份并计算出当前年龄

    c语言根据用户输入的出生年份并计算出当前年龄

    这篇文章主要介绍了c语言根据用户输入的出生年份并计算出当前年龄,需要的朋友可以参考下
    2023-03-03

最新评论