首页 > 试题广场 >

若在C预处理器中定义了字符串常量 PRAISE 为 ”Now

[单选题]

若在C语言预处理器中定义字符串常量 PRAISE 为 ”NowCoder”,则 sizeof(PRAISE) 和 strlen(PRAISE) 语句执行的结果是()

  • 9、8
  • 9、9
  • 8、8
  • 8、9
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。 而sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen是函数。
发表于 2022-01-16 09:15:45 回复(1)
“NowCoder\0”
sizeof() 包括 \0
strlen() 到\0就停了
发表于 2022-07-21 20:08:23 回复(0)
为什么不是10 9
发表于 2023-04-27 08:07:54 回复(0)
sizeof,包括不可见的结尾符
strlen,就是可见的字符个数
发表于 2022-09-28 19:54:16 回复(0)
题目有问题,给出的字符N前面有空格,所以答案应该是10 9
发表于 2023-08-22 23:15:41 回复(0)
搞半天没有空格,鼠标拉扯一下就知道了,我是说怎么感觉不对劲
发表于 2023-09-19 14:41:01 回复(0)
前面没有空格,是它双引号占位的问题。
发表于 2023-09-11 17:23:52 回复(0)
做题的时候看到题干上N前面有个空格,点评论进来N前面就没有了
发表于 2023-05-04 11:59:24 回复(1)
刚好记反了
发表于 2022-08-23 22:59:42 回复(0)
怪我咯,没注意有空格
发表于 2022-04-14 09:09:24 回复(3)