单选题
👁️ 浏览量:

试题题干

设char s[]="BeijingChina";,执行语句printf("%d,%d\n",strlen(s),sizeof(s));后输出结果是()

A

12,12

B

12,13

C

13,12

D

13,13

参考答案

正确答案:

试题解析

函数strlen()是测字符串的实际长度;函数sizeof()是测试数据类型所占用的内存字节数。

需要注意的是,系统在存储字符串常量时,会在字符串末尾自动加上一个结束标志符'\0',所以无须人为添加,字符串结束标志符'\0'也要在字符数组中占用一个元素的存储空间,即1字节,因此在说明字符数组长度时,至少为字符串所需长度加1。所以sizeof(s)应为13,strlen(s)为12,即执行语句printf("%d,%d\n",strlen(s),sizeof(s));后输出结果是12,13。