选择题
若有以下定义和语句:
#include<stdio.h>
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
【正确答案】
C
【答案解析】
strlen函数返回字符串的长度,求字符串长度时,遇到结束标志‘\0’为止,但是长度不包括结束标识。字符数组s1的后5个元素没有赋值,都为‘\0’,即“abcd!”后为‘\0’。所以strlen(s1)的值为5。字符指针s2所指向的字符串中,\n为转义字符换行符,表示1个字符,\\也为转义字符,代表\,也是1个字符,其后为字符串结束标识‘0’;所以strlen(s2)的值也为5。因此C选项正确。
提交答案
关闭