字符串的长度是从字符串的开始字符起算,直到遇到字符串结束符'\0'以前的字符个数。
例如:chars[]="abc123\0XYZ";printf("%d\n",strlen(s));输出7。
这里,计算字符串长度,只计入abc3个字母加1个空格加123三个数字,共7个。字符串长度是7个字节。后面的XYZ不算在字符串长度内。
例如:chars[]="abc\066123\0XYZ";printf("%d\n",strlen(s));输出7。
与上面不同的是少了一个空格符,多了一个转义字符'\066',字符串的长度统计到字符串结束符'\0'以前。共7个。1个转义字符由多个字符组成,但只算1个。
例如,在这种情况下:chars[]="abc123";printf("%d\n",strlen(s));输出7。
才符合这个串的字符个数等于该串的长度。它不含转义字符,有一个隐含的字符串结束符'\0',没有占内存的多余字符。占内存数用sizeof(s)计算。
例如:chars[]="abc\066123\0XYZ";printf("%d\n",sizeof(s));输出:12(这是占内存数),它要计入abc3个字母加1个转义字符\066加123三个数字,再加字符串结束符\0,加XYZ,加隐含的字符串结束符\0。
共12个字节。
c++字符串的长度怎么算
在C语言中,可以通过库函数strlen来计算字符串的长度,也可以通过循环计数来求取字符串长度。
函数原型:unsignedintstrlen(char*str);。
功能:统计字符串str中字符的个数,不包含'\0'。
返回值:返回字符个数
具体实现方法可以参考如下程序段:
1、用strlen函数实现
intlen;//保存数组的长度
scanf("%s",str);。
len=strlen(str);//计算字符数组str的长度
注:需将头文件#include<string.h>添加进源文件中。
2、用循环来实现
intlen=0;//保存数组的长度
scanf("%s",str);。
while(str[len]!='\0')//未检测到结束字符。
{
len++;//统计字符数组str的长度
}
还没有评论,来说两句吧...