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

例如:有一字符串“MIKEJODAN",需要输出此字符串,并分别计算字符串空格前的字符串长度和空格后的字符串长度,输出显示:MIKEJODAN45尝试用STRLEN命令,... 例如:有一字符串“MIKE JODAN",需要输出此字符串,并分别计算字符串空格前的字符串长度和空格 后的字符串长度,

输出显示:MIKE JODAN
4 5

尝试用STRLEN命令,但是计算的是全部的长度,如何让解决,谢谢。
展开
 我来答
小落影
2018-06-01 · TA获得超过8370个赞
知道小有建树答主
回答量:98
采纳率:100%
帮助的人:3.4万
展开全部

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

方法:

  1. 自定义函数求长度

  2. 使用strlen()函数

  3. 使用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为待求的字符串数组名

注意:

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

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

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

溜溜达达ii5
2018-06-04 · TA获得超过1.2万个赞
知道答主
回答量:130
采纳率:100%
帮助的人:2万
展开全部

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'在内的长度。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2015-09-25 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

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的长度。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户38551
2008-10-08
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
可以做一个小的程序来实现,这样在你的程序中调用就可以的 我做了一个 你先看看
#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();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laomu1988
2008-10-13
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
用strlen得到整个长度,再用循环语句找到空格位置,然后计算得到两部分的长度即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式