重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用C语言函数strlen()
成都创新互联-专业网站定制、快速模板网站建设、高性价比庐江网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式庐江网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖庐江地区。费用合理售后完善,10余年实体公司更值得信赖。
函数原型:extern unsigned int strlen(char *s);,在Visual C++ 6.0中,原型为size_t strlen( const char *string );,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t;。
头文件:string.h
功能:计算字符串s的(unsigned int型)长度
说明:返回s的长度,不包括结束符NULL。
程序举例:
#include string.h
#includestdio.h
int main(void)
{
char s[]="Golden Global View";
printf("%s has %d chars",s,strlen(s));
return 0;
}
1、在c语言中,可以通过库函数strlen来计算字符串的长度,也可以通过循环计数来求取字符串长度。
函数原型:unsigned
int
strlen(char
*str);
功
能:统计字符串str中字符的个数,不包含'\0'
返
回
值:返回字符个数
2、用strlen函数实现:
char str[20];
int len; // 保存数组的长度
scanf("%s", str);
len = strlen(str); // 计算字符数组str的长度
注:需将头文件#include
添加进源文件中。3、用循环来实现:
char str[20];
int len=0; // 保存数组的长度
scanf("%s", str);
while(str[len] != '\0') // 未检测到结束字符
{
len++; // 统计字符数组str的长度
}
第1个输出是8
10。sizeof运算符得到的是数组的占用字节的大小,在定义数组a的时候没有指明大小,编译器根据初始化的内容来决定a的大小,"abcdefg"是个字符串,连同表示字符串结束的'\0'共有8个字符,1个字符类型占用1个字节,所以sizeof(a)是8。在定义数组b的时候已经指明了大小,所以sizeof(b)是10。
第2个输出是5
20。strlen函数是计算字符串的长度,字符串以'\0'表示结束,所以strlen在遇到hello后面的'\0'时就会返回。sizeof跟第1个问题一样。
正确的答案是5,题目选项有误。
首先strlen()函数返回的长度是不包含'\0',
第一个字符为:a
第二个字符为:b
第三个字符为:\n (换行符)
第四个字符为:2
第五个字符为:\ (\\转义为\)
所以答案为5。
(下图为实际代码演示)
扩展内容:
strlen()函数(C语言函数):
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
参考资料:strlen函数 - 百科
C语言中字符串长度的函数是strlen(),一个字符的长度为1;
函数原型:
unsigned int strlen (char *s);头文件:
#include string.h参数说明:s为指定的字符串;
功能说明:strlen()用来计算指定的字符串s 的长度,不包括结束字符'\0';
返回值:返回字符串s 的字符数;
注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。
示例:
#includestdio.h#includestring.hint main(){ char str[] = "ab\nxyz";//\n为回车字符,占一个字节 printf("strlen(str)=%d\n", strlen(str)); return 0;}//输出结果:strlen(str)=6 收起