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