单选题
👁️ 浏览量:

试题题干

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

A

5,5

B

5,6

C

6,5

D

6,6

参考答案

正确答案:

试题解析

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