C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符.
其长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身.
要获得字符串长度,有两种方法可以使用:
使用库函数strlen().
strlen声明在string.h中,原型为
int
strlen(char
*str);
功能为求str的长度,并返回.
根据定义求长度.
对于字符串str,
可以用如下代码求长度:
len;
for(len
=
0;
;
len
++)
if(str[len]
==
'\0')break;
当str[len]为0时,退出循环,退出后的len值就是str的长度.
根据查找到字符串中
'\0'字符的位置结束.
'\0'
前面的个数为该字符串长度
比如
"hello
world!"
(字符串存储时结尾自动加上\0字符)
如果这样写
\0world!"
(空格也算一个字符)
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()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心.
首先strlen()函数返回的长度是不包含'\0',
第一个字符为:a
第二个字符为:b
第三个字符为:\n (换行符)
第五个字符为:\ (\\转义为\)
(下图为实际代码演示)
扩展内容:
strlen()函数(C语言函数):
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0').
参考资料:strlen函数 - 百科
使用string库函数里的strlen函数即可判断字符长度.
strlen函数可以计算给定字符串的长度,返回值为长度值.
#includestdio.h
#includestring.h
int main()
int i;
printf("%d",i);
}运行结果如下:
以上就是土嘎嘎小编为大家整理的c语言查看字符长度函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!