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

admin2021-04-28  26

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

选项 A、Prphshn
B、Prohsbn
C、Progsbn
D、Program

答案C

解析 strlen函数的功能是返回字符串的长度,求字符串长度时,遇到结束标识“\0”为止,但是长度不包括结束标识。字符数组s1的后5个元素没有赋值,都为“\0”,即“abcd!”后为“\0”。所以strlen(s1)的值为5。字符指针s2所指向的字符串中,“\n”为转义字符换行符,表示1个字符;“\\”也为转义字符,代表“\”,也是1个字符,其后为字符串结束标识“\0”;所以strlen(s2)的值也为5。因此c选项正确。
转载请注明原文地址:https://jikaoti.com/ti/nDz0FFFM
0

最新回复(0)