首页 > 试题广场 >

定义char dog[]="wang\0miao";那么si

[单选题]
定义char dog[]="wang\0miao";那么sizeof(dog)与strlen(dog)分别是多少:
  • 10,4
  • 4,4
  • 9,9
  • 9,4
A。
sizeof返回数组所占的字节数,'wang' 'miao'共占8字节,显式'\0'占1字节,字符串末尾隐式'\0'占1字节,共10字节。
strlen返回字符串的长度,以遇到'\0'结束符为准,因此为4。
发表于 2015-08-13 14:11:39 回复(0)

对于指针,sizeof操作符返回这个指针占的空间,一般是4个字节;而对于一个数组,sizeof返回这个数组所有元素占的总空间,包括结束符'\0 。char*与char[]容易混淆,一定要分清.

strlen不区分是数组还是指针,就读到\0为止返回长度。而且strlen是不把\0计入字符串的长度的
发表于 2016-04-22 10:23:47 回复(0)
sizeof返回数组所占的字节数,'wang' 'miao'共占8字节,显式'\0'占1字节,字符串末尾隐式'\0'占1字节,共10字节。
strlen返回字符串的长度,以遇到'\0'结束符为准,因此为4。
发表于 2015-11-04 10:35:41 回复(1)
A.sizeof指所占内存大小,strlen是字符串长度,遇到“\0”结束
发表于 2015-08-25 09:57:39 回复(0)
要特别注意字符串后面“\0”的长度
发表于 2015-08-21 17:18:57 回复(0)
sizeof再求字符数组的时候,如果没有预先指定数组的大小,那么\0也是要计算进去的
发表于 2015-08-19 10:56:47 回复(0)
sizeof返回数组所占的字节数,'wang' 'miao'共占8字节,显式'\0'占1字节,字符串末尾隐式'\0'占1字节,共10字节。
strlen返回字符串的长度,以遇到'\0'结束符为准,因此为4。
发表于 2020-02-27 13:41:47 回复(0)
好气……老想着数组名会降级,太蠢了我……
发表于 2017-11-28 09:57:06 回复(0)
char dog[]="wang\0miao"; sizeof(dog)=10; strlen(dog)=4;
char dog[]={'w','a','n','g','\0','m','i','a','o'}; sizeof(dog)=9; strlen(dog)=4;
发表于 2017-04-07 10:26:00 回复(1)
一定要注意字符串末尾隐式'\0'占一个字节。strlen返回字符串的长度,以遇到'\0'结束符为准,因此为4。
发表于 2015-09-15 15:19:19 回复(0)
sizeof方法计算的是传入对象的类型的大小,比如传入对象是指针那么计算的就是指针大小,传入数组对象那么就是数组的大小。
strlen是用来计算字符串大小的,遇到字符串中的结束符”\0“,即认为字符串结束了。结束符本身不计入大小。
发表于 2024-07-31 11:36:48 回复(0)
sizeof:求变量所对应类型占的字节数 strlen:求字符串有效长度,不包括“\0”,遇到“\0”结束。 所以选A
发表于 2022-09-11 10:03:19 回复(0)
字符串末尾存在一个结束标识符'\0'
发表于 2022-04-05 11:21:23 回复(0)
后面还有个\0,strlen既然是和字符相关,就不算\0
发表于 2022-03-27 17:29:03 回复(0)
字符数组的存储方式,末尾还有一个隐式的\0没有考虑,故做错。
发表于 2021-08-16 19:57:25 回复(0)
我总觉得应该是5,4才对
发表于 2020-06-04 08:31:48 回复(0)
char占一个字节,数组占10个,所以1*10=10个字节
发表于 2018-04-23 21:30:18 回复(0)
字符数组最后有一个默认的零结束标志
发表于 2017-04-05 00:02:30 回复(0)
strlen到/0结束
发表于 2017-03-23 23:35:22 回复(0)
sizeof返回字符串所占的字节数;
strlen返回字符串的长度,字符串中遇到 \0就会当作结束标志。
发表于 2016-05-24 17:06:21 回复(0)