C语言多种获取字符串长度的方法

时间:2021-12-01 04:44:44

在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍

一、使用sizeof()运算符

在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。

基本用法:

?
1
2
3
4
5
6
7
int i=10;
sizeof(i);//表达式
 
char str[]="hello world";
sizeof(str);
 
sizeof(double);//数据类型

在使用sizeof()求字符串长度时,会将 ‘\0' 也计算到字符串长度中。例如"abcd"用sizeof()求长度会计算得到5。
注意:char str[100]=""; sizeof(str)的值是100。

二、使用strlen函数

在string.h中提供了计算字符串长度的函数。

语法:

?
1
size_t strlen(const char *str);

在使用strlen函数时,需要添加string.h头文件,该函数会将字符串长度计算出,不包含 ‘\0'。

三、编写函数

如果不想使用sizeof()和strlen(),可以利用循环来判断字符串的长度。

?
1
2
3
4
5
6
7
8
9
10
int get_length(char str[])
{
    char *p = str;
    int count = 0;
    while (*p++ != '\0')
    {
        count++;
    }
    return count;
}

该函数通过传入一个字符串,返回一个长度数值。

测试代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <string.h>
 
int get_length(char str[])
{
    char *p = str;
    int count = 0;
    while (*p++ != '\0')
    {
        count++;
    }
    return count;
}
 
int main()
{
    char str[] = "abcd";
    int count1 = sizeof(str);
    int count2 = strlen(str);
    int count3 = get_length(str);
    printf("use sizeof the length is %d\n", count1);
    printf("use strlen the length is %d\n", count2);
    printf("use get_length the length is %d\n", count3);
    return 0;
}

结果:

C语言多种获取字符串长度的方法

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

原文链接:https://blog.csdn.net/st66688/article/details/108356361