首页 > 试题广场 >

字符串"^▽^\n"的长度是

[单选题]
字符串"//^▽^//\n"的长度是()
  • 6
  • 7
  • 8
  • 9
\n是转义字符,算一个。
发表于 2018-10-16 10:44:53 回复(1)
如果sizeof这个字符串应该是9,这里说的字符串长度感觉有点模糊,strlen碰到 \0才会停下所以会等于8😐
发表于 2021-08-21 23:14:02 回复(0)
/ 1 / 2 ^ 3 △ 4 ^ 5 / 6 / 7 \n 9 注意:转义字符是反斜杠\\,不是// (个人意见)
发表于 2021-06-15 08:28:19 回复(4)
我来说说我的运算结果吧.
我用sizeof跑了一遍,算出来是15。
用strlen跑出来结果是14。
三角跟尖角符号都是三个字节大小,strlen遇到\0结束。
用strlen算的结果是=/(1)+/(1)+^(3)+▽(3)+^(3)+/(1)+/(1)+\n(1) = 14。
用sizeof算的结果是=/(1)+/(1)+^(3)+▽(3)+^(3)+/(1)+/(1)+\n(1)+\0(1) = 15。
注意:有的人是用指针去算sizeof大小,在64位系统下算出来是指针的大小8,在32位系统下算出来是4.

个人意见:题目答案是8,我不知道是不是把^(3)+▽(3)+^(3)当作是一个字节大小来算的了,如果是这样的话
用strlen算的结果是=/(1)+/(1)+^(1)+▽(1)+^(1)+/(1)+/(1)+\n(1) = 8.
用sizeof算的结果是=/(1)+/(1)+^(1)+▽(1)+^(1)+/(1)+/(1)+\n(1)+\0(1) = 9.


个人浅薄理解,望周知!
编辑于 2023-05-30 21:01:54 回复(0)
\0不算长度吗?
发表于 2020-09-01 14:42:12 回复(6)
VS2017 如果不算'\0'长度为11,算了的话长度为12,原因是'^', '▽'都占两个字节。

发表于 2020-12-23 10:23:23 回复(0)
\\ 和//不一样
发表于 2022-02-16 17:23:30 回复(0)
^ ▽ ^不是ASCII表里面的字符,它们分别占3个字节
^这个才是ASCII表里的字符,占1个字节,
^^两个尖尖不一样,放在一起容易区分,
题目答案给出有误,应该为14字节(strlen计算长度,而不是内存,不算\0)。
编辑于 2024-03-30 14:53:34 回复(0)
这里说的字符串长度是指strlen,不是指占用内存长度sizeof
发表于 2022-04-07 14:27:06 回复(1)
sizeof是8,strlen是9,另外▽占两个字节。
发表于 2020-11-16 20:04:00 回复(3)
???//只能算是一个字符吧
发表于 2020-09-14 16:32:58 回复(0)
java输出length是9?
发表于 2018-09-01 21:29:27 回复(1)
/n是转义字符 算一个
发表于 2023-09-07 20:20:17 回复(0)
strlen是求得的字符串的实际长度,不包含’\0’,而sizeof求得的是整个空间的大小,而题中要求的是长度,所以不包含‘ \0 ’。
发表于 2023-05-05 09:54:43 回复(0)
字符串占空间数包含\0 但是字符串长度(用strlen计算)不包含\0 
发表于 2023-04-28 11:36:32 回复(0)
为啥是这样
发表于 2023-01-06 15:26:15 回复(0)
长度是strlen是不计算\0的,sizeof是要吧\0计算在内的、
char *p="//^▽^//\n",sizeof(P)=9,而strlen(p)=8
发表于 2022-09-23 17:22:03 回复(0)
不包含结束标志符'\0'
发表于 2022-04-19 13:03:06 回复(0)
为何如此?
发表于 2022-03-12 11:17:28 回复(0)
转义字符算一个
发表于 2021-08-03 11:06:41 回复(0)