C语言 计算字符串长度的几种方法:

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个byte. )
例如:

void strlen(char* str)
{
     int length;
     length = sizeof(str)/sizeof(str[0]);  //str为4个字节,str[0] = 1  
}
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐