如何在c语言中计算字符串长度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在c语言中计算字符串长度相关的知识,希望对你有一定的参考价值。

例如:有一字符串“MIKE JODAN",需要输出此字符串,并分别计算字符串空格前的字符串长度和空格 后的字符串长度,

输出显示:MIKE JODAN
4 5

尝试用STRLEN命令,但是计算的是全部的长度,如何让解决,谢谢。

C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符。

方法:

    自定义函数求长度

    使用strlen()函数

    使用sizeof()操作符


自定义函数:

int cont_str(char *s)

int i = 0;      

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

return i;


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

strlen(str); //假设str为待求的字符串数组名


使用sizeof()操作符:

sizeof(str)/sizeof(str[0]); //假设str为待求的字符串数组名

注意:

    strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\\0’;

    sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\\0’;

    当在函数内部使用sizeof()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。

参考技术A

C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。

要获得字符串长度,有两种方法可以使用,使用库函数strlen()。strlen声明在string.h中,原型为int strlen(char *str);功能为求str的长度,并返回。对于字符串str, 可以用代码求长度。当str[len]为0时,退出循环,退出后的len值就是str的长度。

拓展资料:使用strlen函数,包含在头文件string.h里,功能就是计算字符串s的(unsigned int型)不包括'\\0'在内的长度。

参考技术B

C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。

其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。

要获得字符串长度,有两种方法可以使用:

1 使用库函数strlen()。

strlen声明在string.h中,原型为

int strlen(char *str);

功能为求str的长度,并返回。


2 根据定义求长度。

对于字符串str, 可以用如下代码求长度:

int len;
for(len = 0; ; len ++)
    if(str[len] == '\\0')break;

当str[len]为0时,退出循环,退出后的len值就是str的长度。

参考技术C 可以做一个小的程序来实现,这样在你的程序中调用就可以的 我做了一个 你先看看
#include<stdio.h>

int main()

char a[]="hello worldwerer sdefe drefefefef";
int i,count=0;
for(i=0;a[i]!='\0';i++)


if(a[i]==' ')

printf("%d,",count);
count=0;
continue;

count++;

printf("%d",count);
getchar();
本回答被提问者采纳
参考技术D 用strlen得到整个长度,再用循环语句找到空格位置,然后计算得到两部分的长度即可。

在计算机c语言中,如何判断字符串长度

strelen 和 sizelf有何区别

用strlen函数。
strlen是STRING LENGTH(字符串长度)的缩写。它是测试字符串长度的函数,函数的值为字符串中的实际长度。不包括'\0'在内。
包含在头文件<string.h>里
例如
char str[10]=\"china\";
printf(\"%d\",strlen(srt));
输出5。
参考技术A strlen(); 这个是一个函数,
sizeof(); 这个不是函数

strlen(); //返回实际长度
sizeof(); //返回整个字符串的长度
比如:

char str[20]="hello";
cout<<strlen(str)<<endl; 将输出 5 不算最后的'\0'

cout<<sizeof(str)<<endl; 将输出 20 ,字符串的全部长度
参考技术B 1)答案:c
因为a[]的初始化方式是字符串初始化,所以在实际存储的时候会多一位空间用来存储字符串的结束字符“\0”。而b[]则不需要。
2)答案:c
原因如上题
参考技术C strelen 判断字符串的长度,就是有几个字符.
sizelf判断变量的字节数.
参考技术D strlen()
参看string.h

以上是关于如何在c语言中计算字符串长度的主要内容,如果未能解决你的问题,请参考以下文章

c语言中字符串的长度是如何计算的?

c语言如何计算n行字符串的长度?

c语言 计算字符串长度

C语言字符串长度如何数?

C语言字符串长度如何数?

C语言中如何获取数据长度?