c语言字符型数组中末尾的\0算在长度内吗,strlen算不算,还有sizeof算不算

如题所述

strlen不算,sizeof算
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-16
若有定义char s[20]="ABCD";则strlen(s)=4,而sizeof(s)=20。
第2个回答  2017-12-16
char str[5] = "abcd";
strlen(str) == 4
sizeof(str) == 5本回答被网友采纳

C语言里哪个函数计算字符串长度要算\/0,哪个有不用啊?
\\0是字符串结束符,仅占用存储空间,但不算作有效的字符,系统函数strlen(char s[]),仅返回'\\0'之前的字符个数。而关键字sizeof返回的是真个字符串包含'\\0'在内占用的字节数。请注意strlen是函数,而sizeof是C\/C++关键字。

C中字符串什么时候算上'\\0'啊。。
回答:当计算字符串有效长度时不算'\\0',当计算所占存储空间时算'\\0',对于strlen计算的是有效长度,不包括'\\0',所以是5,当用sizeof计算时计算的是所占存储空间结果就是6了

C语言中的strlen函数
strlen()只是统计字符串的长度,统计到'\\0'结束,但不包括'\\0',这个与sizeof()不一样。对于用双引号引起来的字符串,系统默认最后一位字符为'\\0',如你自己定义的:char a[]="china";char b[]={"china"};另外,数组初始化还可以是一个字符一个字符赋值,如:char c[]={'c','h','i...

C语言中,sizeof和strlen都是表示字符串长度的吗?谁能告诉我它们两者的区...
sizeof 计算的是数据在内存中存放的长度,单位是“字节”,可以对任何数据类型做运算,而且它是一个运算符(和+、-、*、\\类似);当对字符串计算时,包含末尾的"\\0";当对字符数组操作时,返回的是数组的总的长度,也就是当把数组作为参数传递给sizeof时是不会退化的。strlen 计算的是字符串的长...

c语言的size of,strlen什么意思
sizeof函数是计算数据空间的字节数;strlen函数是计算字符数组的字符数,以"\\0"为结束判断,不包含结束字符'\\0'。举例说明如下:int a;char b[]="abcd";printf("%d", sizeof(a)); \/\/ 输出变量a所占的内存字节数,输出4 printf("%d", sizeof(b)); \/\/ 输出字符数组b所占的内存字节数...

sizeof和strlen的c++问题
sizeof计算出来的是所占字节数,strlen算出来的是字符数,不包括'\\0'a1[10]有10个char所占的空间,char占1个字节,所以a1[10]占10个字节,但是只有4个字符 a2[]没有指定大小,大小是根据后面的元素个数自动计算的,所以是3;字符数也是3 a3[]也没有指定大小,用一个字符串来初始化,字符串都...

字符串长度包括空格吗?
算。C语言字符串规定,字符串长度是指从字符串开始,到字符串结束符(\\0)为止,所有字符的总数,不包括\\0。这里的所有字符,同样包括不可见字符,自然包括空格。比如:字符串"for test"长度是8。

sizeof算不算\\0
2、sizeof不算\\0的原因 "\\0"字符是C语言字符串的结束标志。在计算字符串长度时,我们通常会将"\\0"也算作字符串的一部分。但是,sizeof运算符并不计算"\\0"字符的大小。这是因为sizeof运算符返回的是对象或类型在内存中的大小,而"\\0"字符并不占用任何空间。'\\0'字符的重要性、sizeof与strlen...

C语言,字符串常量"hello\\nc"的字符长度为什么是7
\\n代表回车一个字符,strlen计算字符串长度不把结束符\\0计算在内,所以是7.sizeof会把\\0计算在内,会是8.

c语言 计算字符串长度
C语言的字符串是由字符数组形式保存的,并约定'\\0'(ascii码值为0)作为字符串结束符。其长度为从字符串开始,到'\\0'结束,所有字符的个数,不包括'\\0'本身。要获得字符串长度,有两种方法可以使用,使用库函数strlen()。strlen声明在string.h中,原型为int strlen(char *str);功能为求str的长度...

相似回答