柠檬试题库
search
首页 计算机 公务员 驾照 关于

若有以下定义和语句 #include char s1[10]= "abcd!", *s2="\n123\\"; printf("%d %d\n", strlen(s1), strlen(s2)); 则输出结果是


  • A.10 7
  • B.10 5
  • C.5 5
  • D.5 8
热度🔥2,021
参考答案:C
解析:

【解析】strlen函数返回字符串的长度,求字符串长度时,遇到结束标志'\0'为止,但是长度不包括结束标识。字符数组s1的后5个元素没有赋值,都为'\0',即"abcd!"后为'\0'。所以strlen(s1)的值为5。字符指针s2所指向的字符串中,\n为转义字符换行符,表示1个字符,\\也为转义字符,代表\,也是1个字符,其后为字符串结束标识'\0'; 所以strlen(s2)的值也为5。因此C选项正确。
复制题目向AI提问