首页 > 试题广场 >

sizeof("hello") strlen("world"

[单选题]
sizeof("hello");
strlen("world");
上面语句的值分别是()
  • 5,5
  • 5,6
  • 6,6
  • 6,5
strlen 是函数,sizeof 是运算符。
strlen 测量的是字符的实际长度,以'\0' 结束,也就是说不算最后的'\0';
而sizeof 测量的是字符的分配大小,包括最后的'\0';
帮助记忆的话,可以理解成运算符更加底层一下,会输出真实的内存占用情况,而函数有封装,会处理成用户想要看到的内容。🤣🤣🤣


发表于 2019-07-18 15:07:18 回复(1)
编译器会在最后加上\0,sizeof会默认为大小为6的数组,而strlen记到最后一个d就会停止
发表于 2019-03-20 10:48:50 回复(0)
sizeof("") = 1; 会输出真实的内存占用情况,函数有封装,会处理成用户想要看到的内容
strlen("")  = 0; 测量的是字符的实际长度,以'\0'结束,也就是说不算最后的'\0'  ;
发表于 2022-03-13 14:11:43 回复(0)
strlen不算最后的'\0',sizeof算
发表于 2022-02-23 14:47:38 回复(0)
这里,sizeof会把字符串隐藏的\0算上;strlen就是计算字符串里面字母个数
发表于 2021-03-17 17:20:32 回复(0)
strlen 是函数,测量的是字符的实际长度,以'\0' 结束,但不算最后的'\0'; sizeof 是运算符,测量的是字符的分配大小,包括最后的'\0'。 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示
编辑于 2020-03-20 19:43:35 回复(0)